#define

lengmozaixian 2009-01-11 08:32:41
我的程序代码有一个#define是这样:
#define XERCES_CPP_NAMESPACE_QUALIFIER XERCES_CPP_NAMESPACE::
请教后面的::是什么意思?整个#define有什么作用?
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangshuiling 2009-01-11
  • 打赏
  • 举报
回复
纯粹就是一个文字替换游戏,没什么好研究的!
lengmozaixian 2009-01-11
  • 打赏
  • 举报
回复
明白了,谢谢xiaoyisnail.
xiaoyisnail 2009-01-11
  • 打赏
  • 举报
回复
宏定义在预处理时就是文本替换
处理#define XERCES_CPP_NAMESPACE_QUALIFIER XERCES_CPP_NAMESPACE:: 时就是把XERCES_CPP_NAMESPACE_QUALIFIER替换成XERCES_CPP_NAMESPACE::,在具体用到的地方你就能看出作用了
lengmozaixian 2009-01-11
  • 打赏
  • 举报
回复
// ---------------------------------------------------------------------------
// Define namespace symbols if the compiler supports it.
// ---------------------------------------------------------------------------
#if defined(XERCES_HAS_CPP_NAMESPACE)
#define XERCES_CPP_NAMESPACE_BEGIN namespace XERCES_CPP_NAMESPACE {
#define XERCES_CPP_NAMESPACE_END }
#define XERCES_CPP_NAMESPACE_USE using namespace XERCES_CPP_NAMESPACE;
#define XERCES_CPP_NAMESPACE_QUALIFIER XERCES_CPP_NAMESPACE::
namespace XERCES_CPP_NAMESPACE { }
namespace xercesc = XERCES_CPP_NAMESPACE;
#else
#define XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_USE
#define XERCES_CPP_NAMESPACE_QUALIFIER
#endif

#if defined(XERCES_STD_NAMESPACE)
#define XERCES_USING_STD(NAME) using std :: NAME; #define XERCES_STD_QUALIFIER std ::
#else
#define XERCES_USING_STD(NAME)
#define XERCES_STD_QUALIFIER
#endif

::是#define结构里的吗?是不是和#,##什么的作用差不多,第二个标红色的#define是什么意思?有类似这样结构定义的吗?
呵-呵呵 2009-01-11
  • 打赏
  • 举报
回复
把整个程序贴上来。
waizqfor 2009-01-11
  • 打赏
  • 举报
回复
::域操作符
这要看你的头文件 和整个程序了 单看宏 看不出来什么
Scofield_zao 2009-01-11
  • 打赏
  • 举报
回复
在 C ++中是作用域的意思,在着不清楚了
    顶一下。。。。

64,662

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧