2010-07-27 109 views
10

QT_BEGIN_NAMESPACE的作用是什麼?用QT_BEGIN_NAMESPACE聲明名稱空間是否很重要。QT_END_NAMESPACE

QT_BEGIN_NAMESPACE 
class QLineEdit; 
QT_END_NAMESPACE 

如果我不使用類聲明那樣會出現任何問題嗎?

+0

看看這個http://www.qtcentre.org/threads/15946-What-s-effect-of-QT_BEGIN_NAMESPACE-Thanks – liaK 2010-07-27 09:18:06

+0

http://wiki.qt.io/Qt_In_Namespace – 2015-09-25 00:12:51

回答

15

QT_BEGIN_NAMESPACEQT_END_NAMESPACE是預處理宏和他們在QtGlobal定義爲:

#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE { 
#define QT_END_NAMESPACE } 

不過:這兩個宏只能有什麼影響時,Qt的是配置和使用-qtnamespace選項,它允許你建立在用戶定義的名稱空間內構建Qt。因此:如果您不使用(或計劃使用)以此方式構建的Qt庫(默認情況下,Qt庫駐留在全局名稱空間中),則省略QT_BEGIN_NAMESPACEQT_END_NAMESPACE將不會導致任何問題。

相關問題