且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《C++编程惯用法——高级程序员常用方法和技巧》——2.10 小结

更新时间:2022-09-18 21:41:39

本节书摘来自异步社区出版社《C++编程惯用法——高级程序员常用方法和技巧》一书中的第2章,第2.10节,作者: 【美】Robert B. Murray ,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.10 小结

判断缺省的复制构造函数和赋值操作符的行为是否符合我们的期望,必要时重新实现它们。
避免使用赋值操作来初始化成员;使用构造函数初始化语法来完成初始化操作。
当编写赋值操作符时,请检测s = s这种情况。
避免出现公用数据。
尽可能少地声明和使用隐式类型转换。避免在同一个类中出现两个(或多个)转换操作符。
一元操作符、赋值类操作符、()、[]、以及->应该被定义为成员函数,其他操作符应该被定义为非成员函数。
使用缺省值来为同一个函数提供不同的调用方式;使用函数重载来为同一个抽象操作提供多种实现。
除非被调用函数需要它自己的对象拷贝,否则请使用传递常量引用的方式来调用函数。
在可能的情况下,将指针参数声明为指向常量的指针,将引用参数声明为指向常量的引用。
在可能的情况下,将成员函数声明为const。
不同文件中的静态数据的初始化顺序没有被明确定义。