C++的命名空间:
大概能想到这些:
using namespace std;
namespace XXX{ /*...*/ };
void classname::fun();
classname::var;
命名空间的嵌套。
1.using namespace std;
这是最常见的例子,表示此指令以后的内容(本文件中),若有用到std标准库的方法或变量可以不加std::,
且其他namespace中若有与std相同的变量或成员函数,将被隐藏。
2.namespace XXX{ /*...*/ };
定义一个namespace XXX,其作用域为{ }
namespace A{
int a = 10;
void fun(){
std::cout<< "namespace is A" << std::endl;
}
}
3.void classname::fun();
classname::var;都是和class相关的!
一般如:在类外部定义成员,或者使用该类的成员。
4.命名空间的嵌套
using namespace std;
namespace A{
int a = 10;
void fun(){
cout<< "namespace is A" << endl;
}
using namespace B{
int a = 20;
void fun(){
cout<< "namespace is B" << endl;
}
}
}