在 C++ 中使用整個名稱空間的缺點
在 C++ 中,我們使用不同的名稱空間。我們還可以建立我們自己的名稱空間。例如,我們通常使用稱為 std 的標準名稱空間。我們編寫以下類似語法
using namespace std;
在標準庫中,它包含你在構建應用程式中使用的常用功能,例如容器、演算法等。如果這些名稱外露,例如,如果它們全域性定義了一個佇列類,那麼你就再也無法在沒有衝突的情況下使用相同的名稱。因此,他們建立了一個名稱空間 std 來包含此更改。
using namespace 語句僅表示在它出現的作用域中,使 std 名稱空間下的所有內容都可用,而無需在每個內容之前加上字首 std::。
雖然這種做法對於示例程式碼來說是可以的,但將整個 std 名稱空間引入到全域性名稱空間中不好,因為它違背了名稱空間的目的並可能導致名稱衝突。這種情況稱為名稱空間汙染。
廣告