Qt头文件中的QT_BEGIN_NAMESPACE

源代码中是这样定义的:

# define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
# define QT_END_NAMESPACE }

也就是说,如果你定义以下内容:

QT_BEGIN_NAMESPACE
class QListView;
QT_END_NAMESPACE

那么在编译的时候就变成这样:

namespace QT_NAMESPACE {
class QListView;
}

  仅当在编译Qt时,加上-qtnamespace选项时,这两个宏才会有作用,这时,Qt作为第三方库,要使用用户自定义的命名空间来访问Qt中的类,如QListView *view = new QT_NAMESPACE::QListView

 

转自:http://my.oschina.net/xiangxw/blog/10927

posted on 2016-07-08 10:50  chen_Qt  阅读(4131)  评论(0)    收藏  举报