c++ - 在命名空间中包装外部库

标签 c++ include

我正在编写一个库以在我的项目中使用。在其中,我希望将 c 标准库包装在我的库的命名空间和 cstd 命名空间中,以避免在全局命名空间中使用它的函数。但是,根据我之前提出的问题和我测试过的内容,我不能只是#include 命名空间中的所有内容。有什么办法吗?

最佳答案

我对此表示怀疑,除非你想重写所有内容。

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

如果您只是将命名空间包裹在#includes 周围,编译器将无法找到任何内容,因为它不知道要查找的命名空间。

关于c++ - 在命名空间中包装外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8626211/

相关文章:

C++:链接器错误: undefined reference 仅对单独文件中定义的一个特定类成员

c - 在 C 中使用 read() 和 write() 代替 scanf() 和 printf()

c++ - 具有引用模板参数的部分特化无法在 VS2005 中编译

c++ - 如何为 sprintf 制作可变大小的字符串

c++ - 具有 std::atomic 成员变量的类的复制构造函数/赋值运算符出错

php - 在许多页面上包含一个相同的 html

c - #include 守卫不起作用,#pragma Once 已过时

c++ - 指针的排序 vector

c++ - vector 构造函数中的段错误

JavaScript:具有 SRC 属性的内联脚本?