从boost迁移到std 这里有一个“老”C++项目,其中大量使用了
我的问题是:从boost迁移到std 这里有一个“老”C++项目,其中大量使用了,c++,boost,c++11,C++,Boost,C++11,我的问题是: 1.是否必须切换到stdcasting操作员? 2.迁移到std有什么好处?不,不强制使用boost中首次实现的std版本的功能。与boost的实现相比,使用std版本并没有什么大的优势,除非它能让您消除对boost的依赖 在采用boost特性的过程中,对std版本进行了改进。我不确定这些改进在多大程度上也被应用到了提振中;很可能是大多数,但可能不是全部 使用各种std实现可能会清除依赖于某个实现的某些特性的bug。我从前面的评论中看到,通过使用运算符,您是指智能指针。在这种情况下
1.是否必须切换到
std
casting操作员?2.迁移到
std
有什么好处?不,不强制使用boost中首次实现的std版本的功能。与boost的实现相比,使用std版本并没有什么大的优势,除非它能让您消除对boost的依赖
在采用boost特性的过程中,对std版本进行了改进。我不确定这些改进在多大程度上也被应用到了提振中;很可能是大多数,但可能不是全部
使用各种std实现可能会清除依赖于某个实现的某些特性的bug。我从前面的评论中看到,通过使用运算符,您是指智能指针。在这种情况下,转换应该是微不足道的。 在其他情况下,如从boost::thread迁移到std::thread,路径并不明显。 检查boost::threads和std::threads之间的差异 而且
主要优点是支持,不需要部署boost。(注意:就支持而言,boost邮件列表的回复速度有时会比商业编译器更快)您所说的“casting操作符”到底是什么意思<代码>共享\u ptr是一个类。此外,使用标准库的好处应该是显而易见的(即可移植性、易用性(您不必安装Boost)等)。您是对的。可能我用错词了。我指的是
类
es。我同意可移植性,但我们无论如何都必须包括boost,因为我们将它用于其他用途。