在C++中匿名命名空間等同於:如果我在標題中需要匿名命名空間,該怎麼辦?
namespace $$$$ {
//something
}
using namespace $$$$;
哪裏$$$$是某種獨特的標識符。匿名命名空間對於不應在編譯單元之外看到的代碼非常有用。
到目前爲止很好,但是最近我開始用模板編寫一些代碼,這樣的代碼必須在頭文件中,所以使用匿名命名空間沒有多大意義,因爲只包含頭文件將會使隔離效果無效。
然後問題是,在這種情況下建議的方式是什麼?我開始使用一個名爲Private的命名空間。它並不能阻止任何想要使用內部標識符的人,但至少可以將名稱衝突減少爲ID「Private」。
有沒有更好的方法?建議?
AFAIK這就是你能做的,模板庫中經常使用的命名空間,如'detail'用於這個目的。 – user657267 2014-09-30 10:12:05
理想情況下,您的所有代碼應該位於某種名稱空間中。將你的模板放入名爲Utility的某種名稱空間,或者Alpha或MyWork等等。並將幫助功能也放在那裏。 – 2014-09-30 10:18:58
感謝user657267;那是我正在尋找的確認。我擔心我錯過了明顯的。 – 2014-09-30 12:19:44