Is it important to declare the namespace with QT_B

2019-02-02 17:48发布

What is the effect of QT_BEGIN_NAMESPACE?

QT_BEGIN_NAMESPACE
class QLineEdit;
QT_END_NAMESPACE

If I don't use the class declaration like that, will any problem occur?

标签: qt qt4
1条回答
唯我独甜
2楼-- · 2019-02-02 18:18

QT_BEGIN_NAMESPACE and QT_END_NAMESPACE are preprocessor macros and they are defined in QtGlobal as:

#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }

But: those two macros only have any effect when Qt was configured and built using the -qtnamespace option, which allows you to build Qt inside a user-defined namespace.

So: if you don't use (or plan on using) a Qt library which was built this way (per default, the Qt library resides in the global namespace), omitting the QT_BEGIN_NAMESPACE and QT_END_NAMESPACE won't lead to any problems.

查看更多
登录 后发表回答