on的两个含义

##在C/C++中具有连接字符串的作用例洳:

执行完A ## B后变为AB(连接A和B并去掉空格)。

下面通过具体实例来说明##的工作原理:

假设程序中已经定义了这样一个带参数的宏:

同时又定義了一个整形变量:

现在在主程序中以下面的方式调用这个宏:

那么在编译时上面的这句话被扩展为:

注意到在这个例子中,paster(9);中的这个”9”被原封不动的当成了一个字符串与”token”连接在了一起,从而成为了token9而#n也被”9”所替代。

可想而知上面程序运行的结果就是在屏幕上打印出token9=9

我要回帖

更多关于 keep on后面接什么 的文章

 

随机推荐