对预处理器运算符##的理解:
1 #define paste(front,back) front##back2 int main()3 {4char *name1,*name2;;,name2);7 }
##的作用是将两个形参front和back直接连接起来 ,即使front和back这两个是变量,在调用paste宏前都已经赋值,最后结果依然还是将”front”和”back”这两个字符串连接起来充当一个新的变量名.所以上面代码中paste(name,2)即代表name2的这个变量,因此上面代码等价于:
1 #define paste(front,back) front##back2 int main()3 {4char *name1,*name2;;,name2);7 }
最后打印结果为hello world;那么##啥时候能派上用场呢?
我想它主要用于:当只有在运行时才能确定要调用哪个变量或者函数时,就可以利用##来动态地构造要调用的变量或者函数名称.
,香港服务器,网站空间,网站空间一起吃早餐,午餐,晚餐。或许吃得不好,