所以我正在構建一個基於其他庫如opengl,SDL2,assimp,glm等的C++ 11庫......唯一的問題是大多數這些庫放置它們的函數,或全局命名空間中的對象:這可能與我的類發生衝突! (例如,assimp矢量和我的Vector類...)所以我想將這些庫放在一個名稱空間中,而不是將它們留在那裏來「污染」全局名稱空間。將C++庫放在全局命名空間之外
我想這樣做的:
namespace some_name_space
{
#include <some/kind/of/lib>
}
但我意識到,仍然會存在在全局命名空間的庫的一部分!
有關如何實現這一目標的任何建議? PS:我可以「包裝」庫,但那不會真的是可管理的!
我理解你是否想將**第三方**代碼移動到命名空間中,並將**自己的**代碼留在全局命名空間中? – Siguza
是的,就是這樣:) – MattMatt
我可以問你爲什麼不把自己的代碼移動到命名空間中呢?特別是因爲你正在建立一個圖書館?你會讓別人遇到同樣的麻煩,你要爲自己解決這個問題。 – Siguza