源代碼中是這樣定義的: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命名空間