在C/C++中,宏定义是由define完成的,宏定义中有几种常见的特殊字符需要我们了解,常用的特殊字符有以下几种:
- #:在宏展开的时候会将#后面的参数替换成字符串; 字符串化
- ##:将前后两个的单词拼接在一起; 连接化
- #@:将值序列变为一个字符; 字符化
- \:将两行连接起来。行连接化
我们可以使用这些特殊的字符做一些简单的测试例子:
1.# 测试
测试代码如下:
#include <iostream>
#include <stdlib.h>
using namespace std;
#define PRINT(name) #name
int _tmain(int argc, _TCHAR* argv[])
{
char* ch1= PRINT(南抒一梦);
std::cout << ch1 << std::endl;
char* ch2 = PRINT(233333);
std::cout << ch2 << std::endl;
return 0;
}
输出结果如下: