灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3788回复:1

C语言的一些特殊用法

楼主#
更多 发布于:2013-11-25 13:02
 一:特殊的字符串宏
  [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
天天向上
新手上路
新手上路
  • 注册日期2013-11-23
  • 发帖数13
  • QQ373526679
  • 火币54枚
  • 粉丝0
  • 关注0
  • 最爱沙发
沙发#
发布于:2013-11-25 16:01
嗯, 确实不知道呀。学习啦

Do something today that your future self will thank you for.
回复(0) 喜欢(0)     评分
游客

返回顶部