为什么要确保对象在使用前已经被初始化?因为在对于“将对象初始化”这件事上,C++似乎反复无常。比如 1int x; 在某些预警下x被初始化(为0),但在其它语境中却不保证。比如: 12345class Point{ ...
条款02:尽量以const,enum,inline替换#define
用“编译器替换预处理器”应该更好,因为const,enum,inline都是由编译器处理,而#define由预处理器处理,这正是问题所在。当做出这种事情: #define ASPECT_RADIO 1.653 记号名称ASPECT_R...
条款01:视C++为一个语言联邦
C++最初只是在C的基础上添加一些面向对象特性,即C with Classes。但是随着时间的推移,C++开始接受各种观念,特性和编程战略。Exceptions对函数的结构化带来不同的做法(条款29),templates带来新的设计思...