摘要:
不要返回对象私有成员的句柄 句柄(handle)可以理解为持有其它对象的方法,引用,指针,和迭代器都是句柄。 不要返回对象私有成员的句柄。这样可以增加类的封装性、使得 const 函数更加 const, 也避免了空引用的创建。 直接返回私有成员的指针会导致私有成员被完全暴露。例如: class Po 阅读全文
摘要:
C++的类型检查只在编译时执行,运行时没有类型错误的概念。 理论上讲只要你的代码可以编译那么就运行时就不会有不安全的操作发生。 但 C++ 允许类型转换,也正是类型转换破坏了理论上的类型系统。 C++ 中的类型转换 旧风格的强制类型转换 C 风格的类型转换: 函数风格的类型转换: 以上两种形式之间没 阅读全文
摘要:
存在控制流转移的代码中,你可能会不经意间定义无用的变量。例如: 推迟构造函数的执行 当抛出异常时,encrypted 是无用的根本不需要构造它。所以更好的写法是推迟 encrypted 的构造: 推迟到有构造参数时 构造一个对象再给它赋值不如直接用一个值初始化它, 所以上述代码还有改进的余地:直接用 阅读全文