从boost迁移到std

时间:2013-08-13 16:17:43

标签: c++ boost c++11

我们这里有一个“旧的”C ++项目,它大量使用boost类(例如shared_ptr)。现在我们要将项目迁移到C ++ 11。

我的问题是:
1.是否必须切换到std铸造操作员?
2.迁移到std有什么好处?

2 个答案:

答案 0 :(得分:0)

不,并非强制要求使用最初在boost中实现的std版本的功能。使用std版本而不是boost的实现没有任何大的优势,除非它可能使你能够消除对boost的依赖。

在采用boost功能的过程中,对std版本进行了改进。我不确定这些改进在多大程度上也被应用于提升;很可能大多数都是,但可能不是全部。

使用各种std实现可以清除你依赖于一个实现的某些特性的错误。

答案 1 :(得分:0)

我从之前的评论中看到,通过构建运算符,您意味着智能指针。在这种情况下,过渡应该是微不足道的。 在其他情况下,如从boost :: thread迁移到std :: thread,路径不是那么明显。 检查this post by Anthony Williams有关boost :: threads和std :: threads

之间的区别

另外,this one on boost::bind vs std::bind

主要优点是支持,而不需要部署boost。 (注意:就支持而言,提升邮件列表有时会比商业编译器更快地回复)