当前位置: 技术问答>linux和unix
UINX C++ 命名空间问题
来源: 互联网 发布时间:2016-11-21
本文导语: 在当前文件中的定义 #define NAMESPACE_BILLING40_FRAME bs_frame:: namespace bs_frame { class CNodeVar; class CData; class CXmlDom; class CNode; class CThreadObj; .... } 然后再其他.C .H 文件中都会出现 如 NAMESPACE_BILLING40_FRAME CLogIntf::~CLog...
在当前文件中的定义
#define NAMESPACE_BILLING40_FRAME bs_frame::
namespace bs_frame {
class CNodeVar;
class CData;
class CXmlDom;
class CNode;
class CThreadObj;
....
}
然后再其他.C .H 文件中都会出现
如 NAMESPACE_BILLING40_FRAME CLogIntf::~CLogIntf()
NAMESPACE_BILLING40_FRAME_BEGIN
NAMESPACE_BILLING40_FRAME_END
的东西 这样做的目的是什么啊?
#define NAMESPACE_BILLING40_FRAME bs_frame::
namespace bs_frame {
class CNodeVar;
class CData;
class CXmlDom;
class CNode;
class CThreadObj;
....
}
然后再其他.C .H 文件中都会出现
如 NAMESPACE_BILLING40_FRAME CLogIntf::~CLogIntf()
NAMESPACE_BILLING40_FRAME_BEGIN
NAMESPACE_BILLING40_FRAME_END
的东西 这样做的目的是什么啊?
|
那这两个宏之间的变量声明都属于命名空间bs_frame
|
NAMESPACE_BILLING40_FRAME_BEGIN
NAMESPACE_BILLING40_FRAME_END
这两个应该是用来限定此范围内都属于bs_frame命名空间内容
具体你可以看下宏替换后是什么。
NAMESPACE_BILLING40_FRAME_END
这两个应该是用来限定此范围内都属于bs_frame命名空间内容
具体你可以看下宏替换后是什么。
|
命名空间的作用是防止冲突,NAMESPACE_BILLING40_FRAME宏替换后就是bs_frame::,表示所用的东西在这个命名空间里
|
可以参考下namespace std
有时候是不用using 来引入某个命令空间所有的东西
而是用std::cout 之类的 可以防止命名空间污染
如果你多个命名空间有同名的类,你就可以根据命名空间来限定调用哪个。
有时候是不用using 来引入某个命令空间所有的东西
而是用std::cout 之类的 可以防止命名空间污染
如果你多个命名空间有同名的类,你就可以根据命名空间来限定调用哪个。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。