C++特殊記号

909 ワード

  • #マクロパラメータを1つの文字列に変更し、マクロ定義でのみ使用できます.例:
  • int GetLength(std::string str)
    {
    	return str.length();
    }
    #define LEN(str)	GetLength(#str)
    int main()
    {
    	std::string str = "abcdefg";
    	cout << LEN(str) << endl;
    	return 0;
    }
    //        3,   7
    
  • ###2つのマクロパラメータを一緒に接続し、マクロ定義でのみ使用できます.例:
  • int GetLength(std::string str)
    {
    	return str.length();
    }
    #define TOTALLEN(str1, str2)	  GetLength(str1##str2)
    int main()
    {
    	std::string str1 = "abcdefg";
    	std::string str2 = "hijk";
    	std::string str1str2 = "hello";
    	cout << TOTALLEN(str1,str2) << endl;
    	return 0;
    }
    //       5, str1str2   
    
  • マクロ定義では、同行しないコンテキストを1行
  • に接続するために使用される.
  • __DATE__ ソースファイルに現在のコンパイル日
  • を挿入
  • __TIME__ ソースファイルに現在のコンパイルを挿入する時間
  • __FILE__ 現在のソースファイルのパスとファイル名
  • をソースファイルに挿入します.
  • __LINE__ 現在のソースコードの行番号
  • をソースファイルに挿入します.