2015-07-05 52 views
13

我在許多使用STL類的地方看過下面的語法,但沒有明確地用std::來表示它們。最初的namespace std {}有什麼優勢?爲什麼不只是把using namespace std;「namespace std {}」之前「using namespace std;」

namespace std {} 
using namespace std; 
+3

@Steephen:什麼?怎麼樣?據我所知,OP的問題根本沒有涉及「重複」問題。 –

+0

@BenjaminLindley你說得對,我沒有清楚地讀過問題。恢復了我的最後一票。 – Steephen

回答

10

namespace std {}簡單聲明的命名空間,以便編譯器知道這件事,做using namespace std;不會導致錯誤。

後面的代碼std::可以是#included,它們可以自動引用而不需要前綴std::

+4

這意味着包含在using指令之後,這是一件非常糟糕的事情 - 它可以改變這些頭文件中代碼的含義! –

相關問題