一旦 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::bind
和 boost::bind
同一个 C++0x 项目。
关于c++ - 一旦成为标准的一部分——boost 库会失去其 boost 命名空间并移至 std 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4231828/