:特殊字符串宏
[cpp]
#definea(x ) T_##x
#defineb(x ) @x
#definec(x ) #x
假定x=1,则上面的宏定义可以解释如下
a(1----t_1
B(1----'1'
c(1----'1'
它们主要用于命名一些字符串处理函数和参数,虽然不复杂,但鲜为人知
二:不需要口罩参数警告
[cpp]
#defineunused_param(p ) ) (void ) ) ) )。
这是用于屏蔽无效参数的
例如
[cpp] view plaincopy
voida(intx1,int x2 ) ) )。
{
//do nothing
}
这样会发出警告。 x1、x2是无效的参数
但是,这样写的话,就没关系了
[cpp]
voida(intx1,int x2 ) ) )。
{
unused_param(x1;
unused_param(x2;
}
不写宏的更一般的用法。 例如,头文件的防卫宏、版本定义宏、活用确实效果更好。
资料来源: http://www.2c to.com/KF/201208/148095.html