Qt頭文件中的QT_BEGIN_NAMESPACE

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

相關文章
相關標籤/搜索