C++——名字空间
C++提供名字空间来消除那些因重名而导致的命名冲突。
一、名字空间的定义
namespace fmp
{
int num;
void f();
//… …
}
二、名字空间的使用
① 直接使用
fmp::num = 78;
fmp::f(90);
② 使用using 声明
using fmp::num; //num在后面均可直接使用了
num = 78;
fmp::f(90);
num = 98;
③ 使用using 指令
using namespace fmp;//fmp中的所有成员在后面均可直接使用
num = 90;
f(89);
f(90);
num = 99;
一般最先选择使用第①种方式,其次为第二种方式,最好不要用第③种方式。
原因简述如下:
名字空间的使用是为了将一些可能在全局中冲突的成员封起来,消除那些因重名而导致的命名冲突,如果使用第三种方式等于是将所有成员均在全局中曝光,那么名字空间的使用就毫无意义了。