C语言的一些特殊用法
4949 点击·1 回帖
![]() | ![]() | |
![]() | 一:特殊的字符串宏
[cpp] #define A(x) T_##x #define B(x) #@x #define C(x) #x 我们假设x=1, 则上面的宏定义会被解释成以下的样子 A(1)------>T_1 B(1)------>'1' C(1)------>"1" 这些主要用于一些字符串处理函数和参数命名上,并不复杂,不过知者甚少 二:屏蔽无用参数警告 [cpp] #define UNUSED_PARAM(p) ((void)p) 这个用来屏蔽无效参数的 比如 [cpp] view plaincopy void a(int x1, int x2) { // do nothing } 这样会弹出警告,x1,x2是无效的参数 但是,写成这样,就没关系了 [cpp] void a(int x1, int x2) { UNUSED_PARAM(x1); UNUSED_PARAM(x2); } 三: 想不出来了,占位,等睡醒了在想 宏的更常见用法我就不写了,比如头文件的保卫宏,版本定义宏,灵活使用确实事半功倍。 | |
![]() | ![]() |