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

boost还会包含它曾经使用的所有内容,还是会调整库以使用新的std :: stuff更新它?

boost会有正常的c ++版本和c ++ 0x版本吗?

有帮助吗?

解决方案

由于几个原因,人们希望 Boost继续支持现有的课程。

首先,有一段代码使用Boost中需要支持的重叠功能一段时间。

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

从长远来看,我希望从应用程序编写者和工具提供者那里向标准迁移。这使得使用std ::。

的风险较低

其他提示

我与Boost没有任何关系,并且他们不知道他们会做什么,但似乎Boost将保持不变。

已经发布了TR1(VS 2008功能包),Boost保持不变。由于许多用户尚未采用Boost或TR1,我的预测是至少在未来五年内,boost和c ++ 0x库将存在于不同的命名空间中,并且对于C ++ 0x用户和C ++用户都是可用的。

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

但是请注意,如果要将两个库(std和boost)导入全局命名空间,那么您将遇到问题。

Boost TR1文档的以下引用也揭示了Boost实现TR1组件的一些亮点,建议在可预见的未来维护相应的Boost库:

  

TR1库提供了一个   实现C ++技术   关于标准库扩展的报告。   这个库本身并没有实现   TR1组件,而不是它   包装你的包装纸   标准库的TR1实现   (如果有),否则会   包括Boost Library的等价物,   并将它们导入名称空间std :: tr1。

你的意思是tr1?

Boost已经支持tr1。 来自boost的所有类都已被采用到std :: tr1中,这个命名空间中的boost来自boost。请参阅以下文档。

http://www.boost.org/doc /libs/1_37_0/doc/html/boost_tr1.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top