Qt中QT_BEGIN_NAMESPACE和QT_END_NAMESPACE的作用

在Qt中,我們經常會看到

QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
class QPlainTextEdit;
QT_END_NAMESPACE
這樣的方式表達方式!這樣做有什麼意義呢?
只要深入最終這個宏就知道了。嘻嘻

在qglobal.h中我們可以看到這樣的定義
# define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
# define QT_END_NAMESPACE }

也就是說,如果你定義以下內容:

QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
class QPlainTextEdit;
QT_END_NAMESPACE
 

那麼,在編譯時就會變成這樣:

namespace QT_NAMESPACE 
{
 
class QAction;
class QMenu;
class QPlainTextEdit;
}

QT_NAMESPACE是Qt自己定義的命名空間。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章