C++的作用域是每个初学者很容易混淆的一个知识点,C++ 中的作用域(scope)指的是变量、函数或其他标识符的可见和可访问的范围,如果对于C++的作用域没有一个清晰的认知的话很容易会出现空值或者空指针还有值未能及时更新的问题。
对于C++的作用域,我们一般分为五大类:全局作用域、名字空间作用域、局部作用域、类作用域、语句作用域
C++ 允许作用域嵌套,当内层作用域声明了一个与外层同名的标识符时,内层会遮蔽外层,当内外有相同的标识符时,C++采用就近原则,不过我们不提倡这么做。
上面五大作用域中命名空间作用域是开发者用来隔离不同文件下重复变量名的有效方式,通过定义不同的命名空间同时命名空间下也能嵌套,避免了不同程序在集成时导致的标识符重复的错误。