一旦C++0x成为主流,boost的重叠部分会发生什么?

一旦C++0x成为主流,boost的重叠部分会发生什么?,c++,boost,c++11,C++,Boost,C++11,一旦C++0x成为主流,boost的重叠部分会发生什么 boost是否仍然包含它以前使用的所有内容,或者他们是否会修改库以使用新的std::stuff更新它 将提升一个正常的C++版本和一个C++ 0x版本,它们将保持下去? < p>我不属于Boost,而且他们没有想到他们会做什么,但是看起来好像Boost将不会被触动。p> 已经发布了TR1 VS 2008功能包,Boost并没有受到影响。由于许多用户还没有采用Boost或Tr1,所以我的预测是,至少五年后Boost和C++ 0x库将存在于不同

一旦C++0x成为主流,boost的重叠部分会发生什么

boost是否仍然包含它以前使用的所有内容,或者他们是否会修改库以使用新的std::stuff更新它


将提升一个正常的C++版本和一个C++ 0x版本,它们将保持下去?

< p>我不属于Boost,而且他们没有想到他们会做什么,但是看起来好像Boost将不会被触动。p> 已经发布了TR1 VS 2008功能包,Boost并没有受到影响。由于许多用户还没有采用Boost或Tr1,所以我的预测是,至少五年后Boost和C++ 0x库将存在于不同的命名空间中,C++和C++用户都可以使用。 首先,有一系列代码使用Boost中的重叠功能,这些功能需要支持一段时间

其次,重叠实现允许我选择我更喜欢使用的实现。std::Frob和Boost::Frob之间可能存在一些差异,这对我的项目很重要,有一个选择是很好的

不过,从长远来看,我希望应用程序编写者和工具提供商都能向标准迁移。这使得使用std是一个风险较小的选择:。

你是说tr1吗

Boost已经支持tr1。 boost中采用到std::tr1中的所有boost类在boost的名称空间中都是可用的。请参阅以下文档


对于Boost开发人员来说,名称空间使这一点不成问题。boost库和标准库之间没有直接的争用,因为它们存在于不同的名称空间中。因此,对名称空间std的更改(例如添加std::tr1)对Boost没有直接影响

但是请注意,如果您同时将std和boost库导入到全局名称空间中,那么您将遇到问题

Boost TR1文档中的以下引用也揭示了Boost对TR1组件的实现,表明相应的Boost库将在可预见的未来得到维护:

TR1库提供了一个 C++技术的实现 关于标准库扩展的报告。 此库本身不实现 TR1的组成部分,而不是它的一个薄 包装,将包括您的 标准库的TR1实现 如果它有一个,否则它会 包括Boost库等同物, 并将它们导入命名空间std::tr1


我认为boost函数的接口不是std::可能会很烦人,而且有许多编译器不立即支持boost的所有功能。即使他们得到了std::bind,它也会错过boost::bind的一些功能。这正是添加名称空间的原因,这样代码就可以共存。如果你认为boost库会因为一个编译器添加了重叠功能而改变,nuff说。阅读编译器1.37在