比如说我定义一个宏:
#define DECLARE_DYNAMIC(class_name) \
public:
static CRuntimeClass class##class_name; \
virtual CRuntimeClass* GetRuntiemClass() coonst;

出现的宏定义之中的##,用来告诉编译器,把两个字符串系在一起。如果你这么使用此宏:
DECLARE_DYNAMIC(CView)
编译器前置处理器为你做出的代码是:
public:
static CRuntimeClass classCView;
virtual CRuntimeClass* GetRuntiemClass() coonst;

最新文章

  1. Python 之匿名函数和偏函数
  2. C# 时间现实问题(12小时制与24小时制)
  3. SSIS 64位环境访问Oracle11g
  4. Java笔记(三)……基础语法
  5. Cloudera Impala 之 ORDER BY without LIMIT currently not supported
  6. 表中查询重复的数据,如何通过sql语句查询?
  7. thinkPHP模板引擎案例
  8. Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)
  9. FTP服务器配置部分
  10. LInux基础命令分类
  11. @htmlhepler dropdownlistfor 报错
  12. FusionCharts 3D帕累托图
  13. [转]Mybatis foreach 批量操作
  14. 131A
  15. Webpack 2 视频教程 002 - NodeJS 安装与配置
  16. Oracle11g温习-第十七章:权限管理
  17. jdk8-stream-并行流的使用
  18. 峰Spring4学习(1)HelloWorld
  19. System.Web.Caching.Cache类 缓存 各种缓存依赖(转)
  20. springboot pom 详解

热门文章

  1. 洛谷P1965 转圈游戏 [NOIP2013]
  2. EnableViewState 属性
  3. [LeetCode] Factorial Trailing Zeroes 阶乘末尾0
  4. MySQL数据库”mysql SQL Error:1146,SQLState:42S02 “解决方法
  5. nginx报404的可能错误
  6. springBoot 数组增加工具类包
  7. luogu P2949 [USACO09OPEN]工作调度Work Scheduling
  8. Loj #124. 除数函数求和
  9. BZOJ 4197 NOI 2015 寿司晚宴
  10. Git之Github使用(一):Push代码到Github