C++03
-
1 volitile
-
C++作用域
- 全局域或命名空间域
- 局部作用域、块作用域
- 类域 class
-
数据隐藏
- 在不同的作用域可以定义多个相同名字的变量
- 在访问的时候,从内向外查找(块作用域->。。。->全局作用域)
-
namespace 名字空间、命名空间
-
同一个名字空间可以在不同的cpp中拆开写,实际是在同一个空间中
-
名字空间可以嵌套
-
引用名字空间的方法:
(1) 使用名字空间::变量名访问 CR32::n (建议用法)
(2) 声明名字空间 using namespace CR32;
(3) 声明只使用名字空间的部分变量或函数 using CR32::n;
(4)::n 表示使用全局域中的n -
名字空间取别名: namespace c=CR32;
-
using语句可以出现在任何可以声明的地方(块作用域,全局域均可以),相当于
对应的代码在指定的声明位置展开 -
namespace中的变量名或函数会在名称粉碎中添加名字空间域名
undname -f ?foo@CR32@@YAXXZ
?foo@CR32@@YAXXZ == void __cdecl CR32::foo(void)
?foo@@YAXXZ == void __cdecl foo(void)