我喜歡C++命名空間的概念,因爲它們有助於在避免名稱衝突的同時保持源代碼的簡潔。在.cpp文件中,使用「using namespace」聲明可以很好地工作。但是,在頭文件中,不能使用它,因爲它「打開」名稱空間,這意味着「使用名稱空間」不僅適用於當前頭文件,而且適用於之後編譯的所有內容。這部分消除了命名空間的優點。考慮一個頭文件,其中經常使用類「ourlib :: networking :: IpAddress」和「ourlib :: filesystem :: Path」。C++頭文件中的命名空間
有沒有辦法限制頭文件中「使用名稱空間」聲明的效果?
>此可能會污染全局名稱空間<這會污染全局命名空間 – Artyom 2009-06-22 08:55:32