使用QT_BEGIN_NAMESPACE声明命名空间很重要.QT_END_NAMESPACE

zib*_*bib 14 qt qt4

QT_BEGIN_NAMESPACE有什么影响?

QT_BEGIN_NAMESPACE
class QLineEdit;
QT_END_NAMESPACE
Run Code Online (Sandbox Code Playgroud)

如果我不使用那样的类声明,会出现任何问题吗?

Gre*_*g S 19

QT_BEGIN_NAMESPACE并且QT_END_NAMESPACE是预处理器宏,它们在QtGlobal中定义为:

#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }
Run Code Online (Sandbox Code Playgroud)

但是:这两个宏只能有什么影响时,Qt的是配置和使用内置-qtnamespace选项,它允许你建立的Qt用户定义的命名空间内.

所以:如果你不使用(或使用计划),它始建这样(每默认情况下,Qt库驻留在全局命名空间)一个Qt库,省略QT_BEGIN_NAMESPACEQT_END_NAMESPACE不会导致任何问题.