2017-08-23 113 views
0

我的理解是,在C++中,我們不應該使用:C++ - 最佳實踐:使用'的std :: cout` VS'的std :: cout`

using namespace std;

兩個可能的替代方案是:

1)將using std::cout;在文件的開頭,只需鍵入cout需要時

2)型std::cout每次我們需要使用cout

時間

我的理解是,第二種方法是最好的。但是,這是否始終在專業環境中遵循?在高度快節奏的環境中遵循是否切實可行?我習慣了第一種選擇。切換是否有利?

注意:我最初在Code Review上發佈了這個消息,我被告知這個話題屬於這裏。請不要讓我知道。

+3

然而,你的步伐高得多,那麼輸入'std ::'多花的時間不會太長。你通常會花費更多的時間思考,而不是打字,至少我希望如此;) – Quentin

+0

它不屬於這裏,因爲它主要是基於意見而不是技術問題。但是你可能想要閱讀[this](https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice)以獲得一些平庸的意見。 – nwp

+2

'使用std :: cout;'與使用std有相同的問題;' –

回答

2

所以我用C++做了一點,但我會說這個問題屬於所有語言的命名空間問題。真正的問題是,如果你有多個具有相同功能的命名空間,它會使閱讀正在發生的事情變得更加困難,並且會導致不希望的結果。

例如,如果在兩個名稱空間中有兩個具有相同名稱的函數,代碼將如何知道使用哪一個?當您添加多個名稱空間並調用一個函數時,還會出現另一個問題。讀代碼的人如何知道代碼來自哪個命名空間?讓函數前面的名稱空間有助於使代碼更具可讀性。