Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.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
C++ 我更喜欢Boost还是C++;11标准库,如果I';我已经在用Boost了?_C++_C++11_Boost - Fatal编程技术网

C++ 我更喜欢Boost还是C++;11标准库,如果I';我已经在用Boost了?

C++ 我更喜欢Boost还是C++;11标准库,如果I';我已经在用Boost了?,c++,c++11,boost,C++,C++11,Boost,在我的项目中,我使用boost::asio进行网络和线程管理。我想使用现代C++的一些特性,例如共享指针。 有两种选择:boost::shared_ptr,因为我已经在使用boost;和std::shared_ptr,因为我在使用C++11编译器。据我所知,这些基本上是等价的,但它们彼此不兼容 我已经读到,我应该更喜欢标准库组件而不是Boost,而不是毫无意义地使用外部依赖。但是,我仍然会使用Boost(至少在他们决定将ASIO集成到标准库之前,如果他们决定集成到标准库中的话),所以我仍然需要这

在我的项目中,我使用
boost::asio
进行网络和线程管理。我想使用现代C++的一些特性,例如共享指针。 有两种选择:
boost::shared_ptr
,因为我已经在使用boost;和
std::shared_ptr
,因为我在使用C++11编译器。据我所知,这些基本上是等价的,但它们彼此不兼容

我已经读到,我应该更喜欢标准库组件而不是Boost,而不是毫无意义地使用外部依赖。但是,我仍然会使用Boost(至少在他们决定将ASIO集成到标准库之前,如果他们决定集成到标准库中的话),所以我仍然需要这种依赖性

共享指针只是一个例子,这个问题适用于标准库从Boost接管的所有功能,例如
函数
绑定
线程
,等等


根据我的情况,哪个是该功能的首选实现?关于选择,有什么问题吗?在使用其他的Boost或标准库组件时,我需要使用Boost或标准库版本,

< P>。尽管Boost是未来C++标准的事实上的进口商,这不是标准化的,所以如果你选择了C++标准库的Boost,那么你总是处于兼容性中断的支配之下。(如需有关示例,请参阅历史性突破性变革以提升精神)

因此,始终以代码的形式将迁移到C++标准库中。
<>编译器优化也可以更容易地用C++标准库函数来实现,因为它们的精确行为是由标准.< /P>定义的。当从标准库中得到相同的Boost选项时,使用什么样的Boost选项是什么原因?我不知道有什么意见依据吗?也许我是一只教条主义的老猫,但与我相反的观点是无效的。因此,答案是具体的。如果关于使用标准的意见是标准意见,那么它不应该只是一个标准吗?