码迷,mamicode.com
首页 > 编程语言 > 详细

C++预定义宏

时间:2016-12-13 07:41:11      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:替换   article   c++   斜杠   caff   round   style   cat   ica   

C/C++宏体中出现的#,#@,##:

- #的功能是将其后面的宏参数进行字符串化操作(stringfication),就是对它所引用的宏变量通过替换后在其左右各加上一个双引号

-##被称为连接符(concatenator),用来将两个token连接为一个token。注意这里连接的对象是token就行,而不一定是宏的变量。

举例:

Caffe中Layer的创建:

#define REGISTER_LAYER_CREATOR(type, creator)                                  \  
  static LayerRegisterer<float> g_creator_f_##type(#type, creator<float>);     \  
  static LayerRegisterer<double> g_creator_d_##type(#type, creator<double>)    \ 

http://blog.csdn.net/langb2014/article/details/50991315

 

Tips:

如果串长于一行,可以在该行末尾用一反斜杠‘ /‘续行。

http://blog.csdn.net/blaider/article/details/7578141

C++预定义宏

标签:替换   article   c++   斜杠   caff   round   style   cat   ica   

原文地址:http://www.cnblogs.com/avril/p/6166513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!