一旦成为标准的一部分 - 将提升库失去其boost命名空间并将被移动到std?

Mic*_*ael 7 c++ standards boost c++11

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

如果是后者 - 你将如何解决代码中潜在的命名空间冲突.

干杯.

ice*_*ime 11

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中的项目.

  • 没有!该标准不包含特定boost库的任何部分.事实上,这种情况从未发生过(之前曾发生过).中心委员会(双关语)经常接受一些在boost中提出的概念,但是详细阐述了它自己的规范(当然很少与原来的规格不同......)标准库的具体实现是完全不同的事情,尽管... (4认同)