代码改变世界

Qt中QT_BEGIN_NAMESPACE和QT_END_NAMESPACE的作用

2017-09-08 09:31  nigaopeng  阅读(5627)  评论(1编辑  收藏  举报

在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