简介: QtQT_BEGIN_NAMESPACEQT_END_NAMESPACE的作用

[TOC]

本博文的简述or解决问题?

QtQT_BEGIN_NAMESPACEQT_END_NAMESPACE的作用。

写在之前:

觉得写的好的,但是担心忘记的,有感觉有帮助与理解加深底层和原理等,但是不要本末倒置做成了网络搬运工。为了写文章而写文章,忘记了本质是知识点的学习,记忆在脑海。因为最近一段时间,在疯狂学习,qt和linux和底层知识,了解IDE里面的那个邪恶的三角形(run)背后的东西。写于此。

重要提示:

  • 若遇csdn的博文排版、文字、图片、链接、视频预览等异常,会删除该部分,或用链接代替,或删除该部分,但在文末 github.io 中的同步文章,会保证显示正确
  • 推荐本文末的同步链接,在 github.io 博客上查看更好的100%效果体验

原文:

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

参考博文:

因为有着热心网友的无私分享,

Qt中QT_BEGIN_NAMESPACE和QT_END_NAMESPACE的作用


本篇同步博文:

本博文同步到csdn博客: QtQT_BEGIN_NAMESPACEQT_END_NAMESPACE