1.C++基础
1.1名字空间
关于名字,可以是变量、函数、结构体、类以及相关成员,在使用第三方类库的时候会出现名字冲突。而C++语言提供名字空间(namespace)防止命名冲突。名字空间可以在全局作用域或其他作用域(另一个名字空间)内部定义,但不能在函数或类的内部定义。
//名字空间的定义
namespace 名字空间名称
{...;
}
例如:
//错误示例
#include<iostream>
using namespace std;
int x;
int x;
//在不同的名字空间内部定义
#include<iostream>
using namespace std;
namespace spaceA
{
int x;
int y;
}
namespace spaceB
{
int x;
int y;
int z;
}
使用:
int main()
{
//用法一:名字空间名称::局部内容名 ::是作用域符号
spaceA::x = 8;
cout<<spaceA::x<<endl;
space::y = 9;
cout<<spaceA::y<<endl;
//用法二:using namespace 名字空间名称;
using namespace spaceA;
x = 8;
y = 9;
cout<<x<<y<<endl;
//用法三: using 名字空间名称::局部内容名;
using spaceB::y;
y = 88;
cout<<y<<endl;
}