c++对c的拓展_命名空间_简单使用
名字的控制:c可使用static关键字使该关键字在本单元内可见,c++则使用命名空间对名字的可见性及产生进行控制
命名空间:控制标识符的作用域(本质上就是一个作用域)
使用特点:1、必须定义在全局范围 2、可存放变量 函数 结构体 类 3、可重命名相当于合并 4、可嵌套命名空间 5、可空间内声明函数后定义,定义时加上命名空间作用域 6、命名空间无命名时,编译器自动为内部成员添加上static,内部链接属性只能在本文件使用 7、可取别名 namespace newname =oldname;
#include <iostream>
using namespace std;
namespace A{
int a =10; //存放的变量
void test(){
cout << hello namespace<<endl;
}//存放的函数
struct {}; //存放结构体
class {}; //存放类
void edg(int a); //声明一个函数
}
namespace B{
int a=1;
namespace C{
int a=100;
}
}
namespace B{
int b=2;
}
namespace { //无命名
int a=10;
}
void test(){
cout<<A::a<<endl;
cout<<B::a<<endl;
A::test();
cout<<B::C::a<<endl;
} //调用方式
void A::edg(int a){
cout<<a<<endl;
}
void test02(){
namespace newA=A;
A::edg(777);
newA::edg(4396);
}
int main(){
test();
test02();
return 0;
}
结果:10
1
hello namespace
1
777
4396

浙公网安备 33010602011771号