c++ - 一旦成为标准的一部分——boost 库会失去其 boost 命名空间并移至 std 吗?

标签 c++ boost c++11 standards

一旦 Boost 库(我读到十个 Boost 库被认为是标准库的一部分)成为标准库的一部分 - 它会保留它的 boost 命名空间还是代码最终会在 std 中命名空间?

如果是后者,您将如何解决代码中潜在的命名空间冲突问题。

干杯。

最佳答案

Boost 库中符合标准的项当然会包含在命名空间 std 中。然而,我不认为他们的 Boost 对应物会以任何方式改变:如果我们以 bind 为例,编译 C++0x 的人将使用 std::bind 而编译 C++03 的人将继续使用 boost::bind

我可能是错的,但根据我的理解,是来自 boost 库的概念使其符合标准,而不是确切的规范。据我所知,boost::bind 可以很好地继续发展并在某些时候提供与 std::bind 不同的东西(见鬼,我还没读过C++0x 标准,所以我没有答案,但 std::bind 可能已经不同于 boost::bind !)。

这里没有命名空间冲突的问题:每个库都位于自己的命名空间中,您可以很好地使用 std::bindboost::bind同一个 C++0x 项目。

关于c++ - 一旦成为标准的一部分——boost 库会失去其 boost 命名空间并移至 std 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4231828/

相关文章:

c++ - 持有对同一对象的 const 引用的对象。退出时会发生什么?

c++ - 为什么 Visual Studio 2010 会在 Boost 1.42.0 中抛出这个错误?

c++ - Clang ThreadSanitizer : unlock of an unlocked mutex,和一个原子正在创建数据争用

c++ - 如何将具有不同第二种类型的可变数量的 `std::pair` 传递给函数

c++ - C++ 11 中的数组

c++ - C++中对象的赋值

C++ 入门 1.4.4。不能完全理解第一个 IF 语句的需要

c++ - 这些 vector 定义是 "constant initialization"吗?

c++ - Media Foundation 错误地将静止图像捕获流描述符标记为视频捕获

C++:使用模板和 boost::bind 的链接器问题