為什麼“使用名稱空間 std' 被認為是不良做法?


C++ 具有一個包含在應用程式(如容器、演算法等)構建中使用的通用功能的標準庫。如果這些庫使用的名稱公開(例如,如果在全域性範圍內定義了一個佇列類),您將永遠無法再次使用該名稱而不會發生衝突。因此,他們建立了一個名稱空間 (std) 來容納此更改。

using namespace 語句僅表示在存在它的作用域中,使 std 名稱空間下的所有內容可用,而無需在每個內容前加上 std:: 字首。

雖然此做法對示例程式碼而言可以接受,但將整個 std 名稱空間引入到全域性名稱空間中並不好,因為它破壞了名稱空間的目的,並可能導致名稱衝突。這種情況被稱為名稱空間汙染。


更新於:2019-07-30

397次瀏覽量

Kickstart Your 職業生涯

完成課程取得認證

開始
廣告
© . All rights reserved.