在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自己定義的命名空間。