- #define 预处理
- 函数宏: #define MIN(a,b) (((a)<(b)) ? a : b)
- 条件编译
- # 和 ## 运算符
# 和 ## 运算符
#include <iostream>
using namespace std;
#define MKSTR( x ) #x
int main ()
{
cout << MKSTR(HELLO C++) << endl;
return 0;
}
#include <iostream>
using namespace std;
#define concat(a, b) a ## b
int main ()
{
int xy = 100;
cout << concat(x, y) << endl;
return 0;
}
C++ 中的预定义宏
宏 | 描述 |
---|
_LINE_ | 这会在程序编译时包含当前行号 |
_FILE_ | 程序编译时包含当前文件名 |
_DATE_ | 这会包含一个形式为 month/day/year 的字符串,它表示把源文件转换为目标代码的日期(编译)(预处理(.i文件), 汇编文件(.s文件), 目标文件(.o文件)) |
_TIME_ | 这会包含一个形式为 hour:minute:second 的字符串,它表示程序被编译的时间(可执行文件.exe) |