除此之外,往往一个大型的项目是由多个人即一个团队组合完成的,程序猿A和程序猿B可能会使用同一个名称去定义变量,这是难以预的.在C/C++中,变量、函数和C++中“类” 都是大量存在的,它们的名称将都存在于全局作用域中...在C中如果不能屏蔽这个局部变量,还想优先访问全局域的10似乎很难办到,
而C++中,引入了域作用限定符,2处的a前面有" :: "域作用限定符,虽然是 空格+:: ,这里空格就代表全局域,所以这里打印...(即如果在命名空间的定义的变量,不指定访问,编译器会找不到).
访问优先级:
优先级:局部域>全局域
小试牛刀:下面这段代码打印的结果是什么?...命名空间是为了解决全局变量的命名冲突问题,那它自己的名字会被冲突吗?...命名空间中可以定义很多东西,可以有函数,变量,结构体等,也可以嵌套其他命名空间等.
在不同文件中定义同一名称的命名空间不会报错,而是会被合并!