QT_BEGIN_NAMESPACE
class QAbstractButton;
class QAbstractSlider;
class QComboBox;
QT_END_NAMESPACE
学习QT过程中遇到了上面的问题,不明白是什么意思。使用F2查看了一下,发现这两个宏在qglobal.h中是这样定义的:
# define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
# define QT_END_NAMESPACE }
也就是说在编译过程中,最上面的就被替换成了这样子:
namespace QT_NAMESPACE {
class QAbstractButton;
class QAbstractSlider;
class QComboBox;
}
其中QT_NAMESPACE是QT命名空间,这样的话,下面包含的三个类都会使用这个命名空间,降低代码的繁琐性。