您的位置:首页 > 编程语言 > C语言/C++

C++ 匿名命名空间

2017-12-01 00:00 309 查看
// 具名命名空间
namespace MySpace
{
class  A;
struct B;
}

访问方式:

MySpace::A a;

MySpace::B b;

具有全局访问权限(可被外部文件访问)

//匿名命名空间
namespace
{
class  C;
struct D;
}

访问方式:

C c;

D d;

限定访问权限,可见性只在本文件之内,作用于 static类似

编译器在编译时实际处理如下:

// __Unique_Namespace__ 由编译器确定的唯一的命名空间
namespace __Unique_Namespace__
{
class  C;
struct D;
}
using namespace __Unique_Namespace__;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++