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

时间:2010-07-27 07:03:13

标签: qt qt4

QT_BEGIN_NAMESPACE有什么影响?

QT_BEGIN_NAMESPACE
class QLineEdit;
QT_END_NAMESPACE

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

1 个答案:

答案 0 :(得分:16)

QT_BEGIN_NAMESPACEQT_END_NAMESPACE是预处理器宏,它们在 QtGlobal 中定义为:

#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }

但是:当使用-qtnamespace选项配置和构建Qt时,这两个宏只会产生任何影响,这允许您在用户定义的命名空间内构建Qt。

所以:如果你不使用(或计划使用)以这种方式构建的Qt库(默认情况下,Qt库驻留在全局命名空间中),省略QT_BEGIN_NAMESPACE和{{1不会导致任何问题。