C++命名空间
1. C++中的命名空间
标准命名空间 namespace std
C++在一般的库文件以及常规操作都需要包含C++标准的命名空间std,用户在使用等头文件时,C++标准把所有的有关stream中的关键字都加上了std的命名空间。所以用户在使用该库文件中的关键字时,需要加上命名空间。
使用格式:
std::cout<< a << std::endl;
//需要加上std空间名
或者
#include<iostream>
using namespace std;//直接使用命名空间std
cout<< a << endl;
用户自定义命名空间
用户在使用C++时,肯定在某些时候需要使用自己命名空间,所以,C++给出了用户使用自己命名空间的方法。
namespace name{}
namespace mynamespace{
int num = 10;
void func()
{}
...
}
//访问方式
mynamespace::num;
mynamespace::func();
访问的时候需要加上自己的命名空间名字,这样就可以正长进行访问了。
命名空间也是一个独立的作用域
用户或者C++本身定义了命名空间后,在该命名空间中也是一个独立的作用域,可以和其他作用域中存在相同名称的变量和函数。
命名空间的重要性
- 可以使不用用户在相同工程下的名称相同的变量分隔开来,这样可以使效率更高。
- 使用命名空间可以更为清晰明了的表明用户定义的变量/函数在哪个地方,使得其他观看者更为清除的观赏代码。
- 不同作用域下可以使定义的变量函数更为严谨。