![](https://csdnimg.cn/release/download_crawler_static/35130117/bg4.jpg)
[2] 当你需要尽可能减少参数复制时,应该使用 c onst引用参数; 5 .5节。
[3] 广泛而一致地使用 c onst;7 .2节。
[4] 避免宏; 7 .8节。
[5] 避免不确定数目的参数; 7 .6节。
[6] 不要返回局部变量的指针或者引用; 7 .3节。
[7] 当一些函数对不同的类型执行概念上相同的工作时,请使用重载; 7 .4节。
[8] 在各种整数上重载时,通过提供函数去消除常见的歧义性; 7 .4.3节。
[9] 在考虑使用指向函数的指针时,请考虑虚函数( 2 .5.5节)或模板( 2 .. 7.2节)是不是一种更好
的选择; 7 .7节。
[10] 如果你必须使用宏,请使用带有许多大写字母的丑陋的名字; 7 .8节。
第8章 忠告
[1] 用名字空间表示逻辑结构; 8 .2节。
[2] 将每个非局部的名字放入某个名字空间里,除了 m ain( ) 之外; 8 .2节。
[3] 名字空间的设计应该让你能很方便地使用它,而又不会意外地访问了其他的无关名字空间;
8 .2.4节。
[4] 避免对名字空间使用很短的名字; 8 .2.7节。
[5] 如果需要,通过名字空间别名去缓和长名字空间名的影响; 8 .2.7节。
[6] 避免给你的名字空间的用户添加太大的记法负担; 8 .2.2节、 8 .2.3节。
[7] 在定义名字空间的成员时使用 n amespace: :m ember的形式; 8 .2.8节。
[8] 只在转换时,或者在局部作用域里,才用 using namespace;8 .2.9节。
[9] 利用异常去松弛“错误”处理代码和正常处理代码之间的联系; 8 .3.3节。
[10] 采用用户定义类型作为异常,不用内部类型; 8 .3.2节。
[ 11] 当局部控制结构足以应付问题时,不要用异常; 8 .3.3.1节。
第9章 忠告
[1] 利用头文件去表示界面和强调逻辑结构; 9 .1节、 9 .3.2节。
[2] 用 # i ncl ude将头文件包含到实现有关功能的源文件里; 9 .3.1节。
[3] 不要在不同编译单位里定义具有同样名字,意义类似但又不同的全局实体; 9 .2节。
[4] 避免在头文件里定义非 i nline函数; 9 .2.1节。
[5] 只在全局作用域或名字空间里使用 #i nclude;9 .2.. 1节。
[6] 只用 #i nclude包含完整的定义; 9 .2.1节。
[7] 使用包含保护符; 9 .3.3节。
[8] 用 # include 将C头文件包含到名字空间里,以避免全局名字; 8 .2.9.1节、9 .. 2.2节。
[9] 将头文件做成自给自足的; 9 .2.3节。
[10] 区分用户界面和实现界面; 9 .3.2节。