goback add

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);
  }
  三: 想不出来了,占位,等睡醒了在想
  宏的更常见用法我就不写了,比如头文件的保卫宏,版本定义宏,灵活使用确实事半功倍。

喜欢0 评分0
天天向上
沙发
嗯, 确实不知道呀。学习啦

回复(0) 喜欢(0)     评分