1 来认识认识命名空间吧
#include<stdio.h>
#include<iostream>
namespace name1
{
int a(15);
void print()
{
std::cout<<"我是 命名空间1奥"<<std::endl;
}
}
namespace name2
{
int a(25);
void print()
{
std::cout<<"我是命名空间2奥"<<std::endl;
}
}
int main1()
{
int a(5);
name1::print();
std::cout<<name1::a<<std::endl;
name2::print();
std::cout<<name2::a<<std::endl;
std::cout<<a<<std::endl;
return 0;
}
2 没有名字的命名空间是共有的 没有命名的命名空间可以直接调用
namespace
{
int a(3);
void print()
{
std::cout<<"我是公共额namespace"<<std::endl;
}
}
int main()
{
std::cout<<a<<std::endl;
print();
return 0;
}
3 那么命名空间在实际开发中应该注意什么呐
namespace myname
{
int a(10);
int (*p)(int,int);//指针函数接口为什么不直接写函数那 为了以后的函数修改
// private int y1(10) namespace所有数据,函数,类,对象都是共有
}
int add(int a,int b)
{
return a+b;
}
int addp(int a,int b)
{
std::cout<<"我是新的功能奥"<<std::endl;
return a+b;
}
int main()
{
myname::p=add;
std::cout<<myname::p(1,2)<<std::endl;
myname::p=addp;
std::cout<< myname::p(3,4)<<std::endl;
return 0;
}
4 命名空间起别名和拓展
#include<stdio.h> #include<iostream> //当命名空间名过长的时候可以考虑起别名奥 namespace namenamename { int a(10); } namespace namenamename //命名空间的拓展 { int y(5); //int a 重复定义了 } namespace n= namenamename; int main() { std::cout<<n::a<<std::endl; return 0; }