c為什麼不讓用using namespace std

時間 2021-08-11 17:50:57

1樓:匿名使用者

std名稱空間裡面定義了很多程式設計師常用的名稱(函式名、變數名、類名),只要一不注意就可能在程式中定義同名的東西,這樣就會導致很難發覺的錯誤(編譯器可能提示的是標準庫內部的錯誤,實際上卻是由使用者的**引起的)……

例如下面的**在vs編譯器上是不通過的:

#include

using namespace std;

template

void swap( t& a, t& b )int main()

報錯是error c2668: 「swap」: 對過載函式的呼叫不明確

但是**中看不出過載,實際上是因為標準庫定義了相同名字的函式……

2樓:匿名使用者

不是不讓用,否則using還有存在價值嗎?其實是為了強化名稱空間概念,這是為了商品**(多人完成的應用軟體)避免函式、變數等命名衝突有效的方法,雖說多打幾個字元稍顯麻煩,但可以消除命名衝突,不得已而為之。

3樓:逸明鯨人

如果包含c++的標頭檔案是必須要用的 否則編譯錯誤

如果只有c的標頭檔案 不用也可以 至少可以編譯通過

4樓:匿名使用者

標準的寫法推薦用域運算子 比如std::cout std::cin 最規範最安全 但是 using本身很方便 也很適合初學

電信為什麼不讓用路由器,電信不讓用路由器,怎麼辦?

電信不會收你的東西,因為很都人都在用路由器,他來收你的東西,你叫他去把人家的東西先收了,在來收你的,但電信不允許一好多使用者,你可以隱蔽一點用,就算他知道了也不會怎麼樣的,光明正大的用對他影響不好,所以就來找你們。其實也沒有什麼嚴格規定,只是說了不讓用,路由器本身就是一種可以讓一條線分給n個人上網的...

老師為什麼不讓用紅筆寫字,為什麼寫字時不能用紅筆 而老師可以用

1.因為老師批改作業需要用紅筆。如果你也用紅筆的話會分不清楚筆記。這樣你就分不清楚你哪些地方錯了,也不好改正。2.紅筆非常醒目,這也是為什麼老師用紅筆勾出錯誤的原因。如果是滿篇的紅筆,可想而知那會非常的刺眼 所以老師肯定不會讓你用紅筆啦 手機使用者 用紅筆寫名字 別人的或自己的 代表絕交!但我們老師...

飛機為什麼不讓帶液體,坐飛機為什麼不讓帶液體?

這是美國911事件之後,為預防 破壞飛機而增加的安全規定,是為了防止混入易燃易爆有毒等危險液體,我國規定危險液體不能攜帶或託運,安全液體可以託運,攜帶的話不能超過100ml,特殊急救藥品要出示證明。怕你帶上的液體有可燃性或毒性,飛機在起落期間的壓力變化是很大地,會導致可燃性氣體的密度發生變化從而產生...