变量有 菊部变量 和 全局变量之分, 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