最好不要使用 using 指示,以保证名字空间下的所有名称都可以正常使用.
// 禁止 —— 污染名字空间
using namespace foo;
在 .cc 文件, .h 文件的函数, 方法或类中,...嵌套类
当公有嵌套类作为接口的一部分时, 虽然可以直接将他们保持在全局作用域中, 但将嵌套类的声明置于 2.1. 名字空间 内是更好的选择....嵌套类可以在外围类中做前置声明, 然后在 .cc 文件中定义, 这样避免在外围类的声明中定义嵌套类, 因为嵌套类的定义通常只与实现相关.
缺点:
嵌套类只能在外围类的内部做前置声明....局部变量
将函数变量尽可能置于最小作用域内, 并在变量声明时进行初始化.
C++ 允许在函数的任何位置声明变量. 我们提倡在尽可能小的作用域中声明变量, 离第一次使用越近越好....静态变量的构造函数、析构函数和初始化的顺序在 C++ 中是不确定的,甚至随着构建变化而变化,导致难以发现的 bug.