#号运算符
在宏定义中经常会用到#和##
1、单井号(#):把传递过来的参数当成字符串进行替代
如下示例:
程序代码#define display(name) printf(""#name"")
int main() {
display(name);
}
输出:name
2、双井号(##)是宏定义中的连接符,就是把前后两个参数连接在以起,这个在实际应用中一般碰不到,不排除考试和面试中出现 。
#include<iostream>#define link(a,b) a##busingnamespace std;int main(){int x=2,y=3,xy=10;
cout<<x<<y<<link(x,y);//经过预处理后,link(x,y)已被替换成xy了return0;}
输出结果为:2310
转自:http://blog.csdn.net/sszgg2006/article/details/7887523