摘要: pre 针对Effective C++ (55条)中的每一个条款写一个blog。 0x02 尽量以const, enum, inline 替换 #define 为什么需要这样做?因为使用define会使得变量被define的符号替换,在遇到错误时提示的是替换后的符号而非原始定义的符号,引起误解,因此 阅读全文
posted @ 2022-08-17 23:34 ijpq 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 为什么? 即使给函数宏加上了小括号,如下 #define F(a,b) f((a)>(b)?(a):(b)) 但仍会在使用++运算符时产生问题 F(++a,b) // 替换为 f((++a)>(b)?(++a):(b)) 怎么做 永远使用inline template替换函数宏 template < 阅读全文
posted @ 2022-08-17 23:26 ijpq 阅读(49) 评论(0) 推荐(0) 编辑