全局变量实际分为"文件范围"内的全局变量和"工程范围"内的全局变量
文件范围的:
1.由于c++编译器是按文件为单位的,所以普通定义的全局变量其作用域也仅限于所在文件
工程范围的:
1.若定义个全局变量,想让其它文件也能使用,则必须把它声明为extern类型(注:extern并非单纯是从外面引入的意思,也含有引出的意思,通俗的理解,可以把它当成一种关键字,该关键字的含义是规定该变量在整个工程中是可见的,也是唯一的).
2.工程范围全局变量在实际实现起来是通过头文件包含的方式实现的,也就是说把其声明在某个头文件中,其它文件想用它就包含这个头文件
3.由于头文件可能被多个文件包含,假如把全局变量的定义放在头文件里,则就会出现重复定义,因此必须仅仅在头文件中声明,其它文件在使用它的时候可以自行给它定义
如果想让限定某个全局变量就为本文件使用,可以给它加个static,当然了不加效果也是一样的.