Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it important to declare the namespace with QT_BEGIN_NAMESPACE .. QT_END_NAMESPACE

Tags:

qt

qt4

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?

like image 531
zibib Avatar asked Jul 27 '10 07:07

zibib


1 Answers

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.

like image 67
Greg S Avatar answered Sep 25 '22 02:09

Greg S