【C++语言99个常见编程错误】第3章 预处理器问题
来源:互联网 发布:网络安全保卫局副局长 编辑:程序博客网 时间:2024/06/09 19:27
第3章 预处理器问题
#define定义的字面量
预处理器对于C++的代码作用域和类型规则完全不知,#define的作用域并未限定在名字空间中
对于平凡整型常量来说,使用传统枚举量是最佳的选项
#define定义的伪函数(函数宏)
C++中inline函数几乎是任何时候都是更好的选择,相对于函数宏
宏做伪函数时,也有显式常量的作用域问题
#if的滥用
编译器会剔除#if 中的不可达代码,但还会对这些代码做一次完整的语法分析和静态语义检验
#if用于可移植性代码
断言的副作用
使用assert由于使用注释来文档化前置条件、后置条件和不变量。
assert到底也只是一个伪函数,也有伪函数的种种问题
- 【C++语言99个常见编程错误】第3章 预处理器问题
- 【C++语言99个常见编程错误】第1章 基础问题
- 【C++语言99个常见编程错误】第2章 语法问题
- 【C++语言99个常见编程错误】第4章 类型转换问题
- 【C++语言99个常见编程错误】第5章 初始化问题
- 【C++语言99个常见编程错误】第6章 内存和资源管理问题
- 【C++语言99个常见编程错误】第7章 多态问题
- 【C++语言99个常见编程错误】第8章 类型设计问题
- 【C++语言99个常见编程错误】第9章 继承谱系设计问题
- 《C++语言99个常见编程错误》读书笔记
- 《C++语言99个常见编程错误》读后…
- c语言编程的常见错误
- C语言编程中常见的错误
- c语言、c++编程常见错误
- C语言编程中的常见错误总结
- C语言 函数编程的常见错误
- C语言编程常见错误与解决办法
- c语言编程常见错误集锦
- os模块之复制文件
- 【C++语言99个常见编程错误】第1章 基础问题
- JAXB处理中文
- Android 用MD5加密算法加密密码
- 【C++语言99个常见编程错误】第2章 语法问题
- 【C++语言99个常见编程错误】第3章 预处理器问题
- 【C++语言99个常见编程错误】第4章 类型转换问题
- 【C++语言99个常见编程错误】第5章 初始化问题
- 【C++语言99个常见编程错误】第6章 内存和资源管理问题
- 【C++语言99个常见编程错误】第7章 多态问题
- 【C++语言99个常见编程错误】第8章 类型设计问题
- PHP扩展开发(1)-生成扩展框架
- 【C++语言99个常见编程错误】第9章 继承谱系设计问题
- C/S 与 B/S构架