C++公共变量的定义

141 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ​

C++的公共变量怎么弄呢?

在写C++代码时遇上这一个问题,直接放到头文件里,按照通常C的用法,这样有些不妥,因为,面向对象,尽量不要用全局变量。

看看高手的讨论吧:

 

其结论就是用命名空间,给全局变量弄命名空间范围,这样就把全局变量限制到一定范围里,比C的那种实现方法强多了

关于命名空间的介绍如下:

命名空间随标准C++而引入,相当于一个灵活的文件域(全局域),以关键字namespace开头给其起个名字,并用大括号把定义区域括起来(声明块)。

在域外使用域内成员时,需要加上命名空间名作为前缀,再加上域操作符“::”,可以使用嵌套定义。

如果在关键字namespace之前使用using,就不必使用限定修饰名,即可以一次性使命名空间中所有成员都可以直接被使用。

标准C++库中所有组件都在std的命名空间中声明和定义的,在标准C++平台调用如下语句:

using namespace std;