Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从boost迁移到std 这里有一个“老”C++项目,其中大量使用了_C++_Boost_C++11 - Fatal编程技术网

从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,因为我们将它用于其他用途。