Ответ 1
QT_BEGIN_NAMESPACE
и QT_END_NAMESPACE
являются макросами препроцессора, и они определены в QtGlobal как:
#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }
Но: эти два макроса имеют какой-либо эффект, когда Qt был сконфигурирован и построен с использованием параметра -qtnamespace
, который позволяет вам создавать Qt внутри пользовательского пространства имен.
Итак: если вы не используете (или планируете использовать) библиотеку Qt, которая была построена таким образом (по умолчанию библиотека Qt находится в глобальном пространстве имен), опустив QT_BEGIN_NAMESPACE
и QT_END_NAMESPACE
won ' t приводит к любым проблемам.