简介: Qt
中QT_BEGIN_NAMESPACE
和QT_END_NAMESPACE
的作用
[TOC]
本文初发于 “偕臧的小站“,同步转载于此。
简述:
Qt
中QT_BEGIN_NAMESPACE
和QT_END_NAMESPACE
的作用。
写在之前:
觉得写的好的,但是担心忘记的,有感觉有帮助与理解加深底层和原理等,但是不要本末倒置做成了网络搬运工。为了写文章而写文章,忘记了本质是知识点的学习,记忆在脑海。因为最近一段时间,在疯狂学习,qt和linux和底层知识,了解IDE里面的那个邪恶的三角形(run)背后的东西。写于此。
原文:
在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自己定义的命名空间。
QT_NAMESPACE是Qt自己定义的命名空间。
参考博文:
因为有着热心网友的无私分享,