QT_BEGIN_NAMESPACE
e QT_END_NAMESPACE
sono macro del preprocessore e sono definiti nella QtGlobal come:
#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }
Ma: quei due macro hanno effetto solo quando Qt è stato configurato e costruito utilizzando l'opzione -qtnamespace
, che consente per costruire Qt all'interno di uno spazio dei nomi definito dall'utente.
Quindi: se non si utilizza (o pensa di utilizzare) una libreria Qt che è stato costruito in questo modo (per impostazione predefinita, la libreria Qt risiede nel namespace globale), omettendo il QT_BEGIN_NAMESPACE
e QT_END_NAMESPACE
non porterà alla alcun problema.
fonte
2010-07-27 07:45:01
Controlla questo http://www.qtcentre.org/threads/15946-What-s-effect-of-QT_BEGIN_NAMESPACE-Thanks – liaK
http://wiki.qt.io/Qt_In_Namespace –