从boost迁移到std

migrating from boost to std

本文关键字:std 迁移 boost      更新时间:2023-10-16

我们有一个"旧"C++项目,它在其中大量使用boost类(如shared_ptr)。现在我们想将该项目迁移到C++11中。

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

否,不强制使用在boost中首次实现的特性的std版本。与boost的实现相比,使用std版本没有什么大的优势,除非它可以消除对boost的依赖。

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

使用各种std实现可能会清除依赖某个实现的某些特性的错误。

我从前面的评论中看到,强制转换运算符意味着智能指针。在这种情况下,转换应该是琐碎的。在其他情况下,就像从boost::thread迁移到std::threads一样,路径并不那么明显。查看Anthony Williams关于boost::threads和std::threads 之间的区别的帖子

此外,这个关于boost::bind vs std::bind

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