C++宏的用途

本文总结一下《游戏编程精粹3》1.3节的内容和自己在项目中遇到过或使用过的宏技巧。

可以把宏的用途粗略地分为三类:

一是测试,比如assert及其变种、编译时断言、防止无限循环、__FILE__等,这类宏在Release版本中通常会被替换为空;

二是功能,一些功能通过宏来实现会更方便或者性能更好(把运行时的工作搬到编译期来了),比如《游戏编程精粹3》1.3.3的例子,在编译期实现了二进制转十六进制;

三是简便,包括减少代码重复(也就减少了修改代码的时间)、提高可读性等,比如“Implementing a State Machine Language”中的例子、简化类接口(将子类中重复的函数头用宏代替)等。

posted @ 2020-03-30 13:39  Irene_f  阅读(539)  评论(0编辑  收藏  举报