将外部库包装在命名空间中

Con*_*ode 5 c++ include

我正在编写一个库以在我的项目中使用。在其中,我希望将 c 标准库包装在我的库的命名空间和 cstd 命名空间中,以避免其函数位于全局命名空间中。然而,从我之前提出的问题和我测试过的内容来看,我不能只是 #include 命名空间中的所有内容。有什么办法可以做到这一点吗?

Mar*_*lon 4

我对此表示怀疑,除非你想重写一切。

C 语言本身没有命名空间的概念,因此 C 标准库使用的所有内容都必须依赖于这样一个事实:它所查找的任何内容都位于全局命名空间中。

如果您只是在 #include 周围封装一个命名空间,编译器将无法找到任何内容,因为它不知道要查找哪个命名空间。