本文已参与「新人创作礼」活动,一起开启掘金创作之路。
C++的公共变量怎么弄呢?
在写C++代码时遇上这一个问题,直接放到头文件里,按照通常C的用法,这样有些不妥,因为,面向对象,尽量不要用全局变量。
看看高手的讨论吧:
其结论就是用命名空间,给全局变量弄命名空间范围,这样就把全局变量限制到一定范围里,比C的那种实现方法强多了
关于命名空间的介绍如下:
命名空间随标准C++而引入,相当于一个灵活的文件域(全局域),以关键字namespace开头给其起个名字,并用大括号把定义区域括起来(声明块)。
在域外使用域内成员时,需要加上命名空间名作为前缀,再加上域操作符“::”,可以使用嵌套定义。
如果在关键字namespace之前使用using,就不必使用限定修饰名,即可以一次性使命名空间中所有成员都可以直接被使用。
标准C++库中所有组件都在std的命名空间中声明和定义的,在标准C++平台调用如下语句:
using namespace std;