第一部分:基础知识
记住:#define的本质是替换
利器:使用"#"和"##"
#的作用把宏参数变为一个字符串
##的作用把连接其两边的字符形成一个新的参数
#define str(s) #s
#define cons(a,b) int(a##e##b)
int main()
{
printf(str(vck)); // 输出字符串"vck"
printf("%d/n", cons(2,3)); // 2e3 输出:2000
return 0;
}
第二部分:实例解析
cocos2d-x宏的应用:
#define CC_PROPERTY_PASS_BY_REF(varType, varName, funName)\
protected: varType varName;\
public: virtual const varType& get##funName(void);\
public: virtual void set##funName(const varType& var);
这是一个通过引用传值成员变量定义的快捷方式,这里面用到了##特殊符号,对于get##funName,前面的get是死的,后面的funName是活的,通过##能将此二者联系起来。
注意,如果中间去掉##符号的话,就不能形成一个活的函数名。
常用网络协议注册宏:
#define ADD_CMD(cmdType, varType)\
static varType _##varType;\
_ct_reg_cmd(cmdType, &_##varType);
这里定义了一个静态的_##varType,将其注册到协议查询表中,使用如下
ADD_CMD(CMD_LOGIN,LoginCmd);
参数1是协议号,参数二是协议对应的类名,仅此一行代码,即可解决注册的所有工作,方便吧。
分享到:
相关推荐
C语言之详解#ifdef等宏及妙用C语言之详解#ifdef等宏及妙用C语言之详解#ifdef等宏及妙用
描述了在C语言中的#ifdef等宏及妙用
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) ...
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) ...
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) ...
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) ...
C 语言函数宏封装妙招 1. 函数宏介绍 函数宏,即包含多条语句的宏定义,其通常为某一被频繁调用的功能的语句封装,且不想通过函数方式封装来降低额外的弹栈压栈开销。 函数宏本质上为宏,可以直接进行定义,例如:...
以下全部代码的执行环境为VC++ 6.0。
C语言宏定义技巧 ........................................................................................................................ 80 18. C语言实现动态数组 ........................................
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) ...
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) ...
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) ...
17. C语言宏定义技巧 89 18. C语言实现动态数组 100 19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱...
今天小编就为大家分享一篇关于C语言中宏定义的妙用方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
预处理和宏定义是C语言的一个强大工具,使用它们可以进行简单的源代码控制,版本控制,预警或者完成一些特殊的功能。