变量有 菊部变量 和 全局变量之分, local variable 和 global variable
一般在函数体外定义的变量是全局的,函数体内定义的变量只能在函数内使用

注意:在同一个范围内,同一个变量名不能定义两次

在不同的空间范围内可以定义同样名字的变量,这时候他们的作用范围也是不同的

int x;作为计数器)Namespaces可以把变量约束在不同的命名空间里,通过调用不同的命名空间来指定某个变量,类似于“三年级一班的小明”、“三年级二班的小明”等等
myNamespace::a,myNamespace::b
命名空间可以有效的避免命名冲突,如下图有两个value()函数,pi虽然定义在bar内部,但是也可以在main里面调用这个量

命名空间可以分开写,下面的foo空间分开两次定义了a,c 效果和一下定义a和c是一样的,这只是简单的分行写,甚至还可以分开到不同的文件或者源代码里去定义。

using我们可以省略前面的空间名字,就像之前的std::cout简写成cout一样,前提是 using namgspace std; 下面看两种using方式using
using namespace
using namespace second;就会报错了,两个空间里都有x y,编译器无法确定用哪个空间里的。 using namespace具有自己的使用范围,在全局using和在代码片里using,各自的范围就是全局和对应的代码范围。

原文:https://www.cnblogs.com/springbrotherhpu/p/10919551.html