近来看了一下C++API,觉得有些用法有些不错。做一点记录。 预处理命令 #, ##命令 # 和 ## 操作符是和#define宏使用的.使用# 使在#后的首个参数返回为一个带引号的字符串. 例如, 命令 #define to_string( s ) #s 将会使编译器把以下命令 cout << to_string( Hello World! ) << endl; 理解为 cout << "Hello World!" << endl;
使用##连结##前后的内容. 例如, 命令 #define concatenate( x, y ) x ## y 将会使编译器把 int xy = 10; cout << concatenate( x, y ) << endl; 解释为 cout << xy << endl; 理所当然,将会在标准输出处显示'10'. 再看看API中_T是怎么使用##命令的吧,查看_T,它是用宏_TEXT定义的,再看看_TEXT. #define _T(x) __TEXT(x) #define __TEXT(quote) L##quote 所有像_T(“char test”)转出来就是L“char test”, 即宽字符的字符串。 预定义的变量 __LINE__ 和 __FILE__ 变量表示正在处理的当前行和当前文件. 这些参数在不同的编译器可能会有所不同, 但是一般是可用的. 这些变量是系统预定义好的,就和我们用#define宏定义语句定义好的一样。 基本数据类型 C语言包含5个基本数据类型: void, integer, float, double, 和 char. 类型 描述 C++ 定义了另外两个基本数据类型: bool 和 wchar_t. 类型 描述 |