QT_BEGIN_NAMESPACE
y QT_END_NAMESPACE
son macros del preprocesador y se definen en QtGlobal como:
#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }
Pero: esas dos macros sólo tienen ningún efecto cuando se configuró Qt y construido utilizando la opción -qtnamespace
, que le permite para construir Qt dentro de un espacio de nombre definido por el usuario.
Por lo tanto: si no se usa (o planea usar) una biblioteca Qt, que fue construido de esta manera (por defecto, la biblioteca Qt reside en el espacio de nombres global), omitiendo el QT_BEGIN_NAMESPACE
y QT_END_NAMESPACE
no dará lugar a cualquier problema
Echa un vistazo a este http://www.qtcentre.org/threads/15946-What-s-effect-of-QT_BEGIN_NAMESPACE-Gracias – liaK
http://wiki.qt.io/Qt_In_Namespace –