完全提升将包含在C ++ 0x中吗?

时间:2011-07-13 04:23:20

标签: c++ boost c++11

许多boost的实用程序目前已作为extended C++ TR1的一部分包含在内。

标准正式发布后,是否会包含完整的提升库?换句话说,如果我有完整的标准符合C ++ 11编译器,我是否需要boost库?

如果没有那么任何原因(可靠性不是问题;据我所知,它是由标准委员会的许多人写的)?

3 个答案:

答案 0 :(得分:8)

不,实际上很少有部分Boost被“包含”在C ++标准库的C ++ 0x版本中。但是,“包含”的部分是Boost中最常用的部分。

实际上,“包含”无论如何都不正确:Boost库与C ++标准库的相应添加之间存在许多差异。此外,Boost图书馆继续发展壮大; C ++ 0x标准库现已完成。

答案 1 :(得分:8)

  • Boost很大,而且质量很高但质量仍然不同。许多API - 甚至是技术和功能 - 都是非常“实验性”的,因为它们仍然会随着现实世界的反馈而得到定期修改。相比之下,标准有望得到正确和需要最小修订版,特别是在破坏向后兼容性时。

    • 标准库的审核标准远远高于boost的标准库,这并不是说许多提升库不符合标准 - 只是很多人不会这样做,并且审核过程本身很耗时。有很棒的程序员协调和促进提升,但他们自然会把时间集中在他们自己的发展兴趣和他们认为更相关的事情上,所以如果某些东西有点专业,不会吸引他们的编码风格等等。没有受到同样的审查。标准库需要更彻底地审查,因为变更的后果会更加痛苦。

  • 虽然可移植性是将库接受为boost的一个因素,但它并不是一个硬性和快速的要求,因为编译器供应商需要在所有C ++编译器上运行标准库,因此或多或少地采取增强措施 - 并且期望功能在符合标准的编译器供应商上是通用的,这将给这些供应商带来巨大的工作量。

答案 2 :(得分:3)

不,Boost不会完全包含在C ++ 0x中。

Boost的部分内容将与boost :: shared_ptr,Boost.Array以及其他一些东西相似。但是Boost的大部分都没有包括在内。