在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自己定義的命名空間。
原文鏈接: http://blog.csdn.net/jongden/article/details/18135261