QT_BEGIN_NAMESPACE有什么影响?
QT_BEGIN_NAMESPACE
class QLineEdit;
QT_END_NAMESPACE
如果我不使用这样的类声明,会出现任何问题吗?
答案 0 :(得分:16)
QT_BEGIN_NAMESPACE
和QT_END_NAMESPACE
是预处理器宏,它们在 QtGlobal 中定义为:
#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }
但是:当使用-qtnamespace
选项配置和构建Qt时,这两个宏只会产生任何影响,这允许您在用户定义的命名空间内构建Qt。
所以:如果你不使用(或计划使用)以这种方式构建的Qt库(默认情况下,Qt库驻留在全局命名空间中),省略QT_BEGIN_NAMESPACE
和{{1不会导致任何问题。