Vì vậy, tôi đang xây dựng thư viện C++ 11 dựa trên các thư viện khác như opengl, SDL2, assimp, glm, v.v. Chỉ có vấn đề là hầu hết các thư viện đó đều có chức năng của chúng, hoặc các đối tượng trong không gian tên chung: điều này có thể xung đột với các lớp của tôi! (ví dụ vectơ assimp và lớp Vector của tôi ...) Vì vậy, tôi đã nghĩ đến việc đặt các thư viện trong một không gian tên thay vì để chúng ở đó để "gây ô nhiễm" không gian tên chung.Đặt C++ libs ra khỏi không gian tên chung
Tôi nghĩ để làm điều này:
namespace some_name_space
{
#include <some/kind/of/lib>
}
Nhưng tôi nhận ra rằng vẫn sẽ là một phần của thư viện trong không gian tên toàn cầu!
Bất kỳ đề xuất nào về cách đạt được điều này?
PS: Tôi có thể "bọc" libs, nhưng điều đó thực sự không thể quản lý được!
Tôi có hiểu rằng bạn muốn chuyển ** mã của bên thứ ba ** vào không gian tên và để lại ** mã ** của riêng bạn trong không gian tên chung không? – Siguza
Vâng, đúng vậy :) – MattMatt
Tôi có thể hỏi tại sao bạn không chỉ chuyển mã của riêng bạn vào một không gian tên thay thế? Đặc biệt là kể từ khi bạn đang xây dựng một thư viện? Bạn sẽ gây cho người khác cùng một rắc rối mà bạn đang cố gắng giải quyết cho chính mình ở đây. – Siguza