源代码中是这样定义的:spa
# define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
# define QT_END_NAMESPACE }.net
也就是说,若是你定义如下内容:blog
QT_BEGIN_NAMESPACE
class QListView;
QT_END_NAMESPACEqt
那么在编译的时候就变成这样:编译
namespace QT_NAMESPACE {
class QListView;
}class
仅当在编译Qt时,加上-qtnamespace选项时,这两个宏才会有做用,这时,Qt做为第三方库,要使用用户自定义的命名空间来访问Qt中的类,如QListView *view = new QT_NAMESPACE::QListViewList
转自:http://my.oschina.net/xiangxw/blog/10927命名空间