Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.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++_Boost_Shared Ptr_Boost Smart Ptr - Fatal编程技术网

C++ 如何从boost库中取出单个元素(例如,共享_指针)?

C++ 如何从boost库中取出单个元素(例如,共享_指针)?,c++,boost,shared-ptr,boost-smart-ptr,C++,Boost,Shared Ptr,Boost Smart Ptr,我一直在玩一些Boost组件,我认为在我所从事的项目中唯一直接需要的是Boost::shared\u ptr 在我的项目中,仅仅包含共享\u ptr所需的文件,或者至少只包含Boost smart\u ptr目录的文件,会很困难吗?它们似乎对Boost的其他部分有一些外部依赖性,但我认为有一种简单的方法可以使用Boost库的某些组件,而我却错过了它 如果你能告诉我我需要什么样的零件或给我一个好的教程,我将不胜感激 您只能像这样包含来自boost的共享\u ptr头 #include <bo

我一直在玩一些Boost组件,我认为在我所从事的项目中唯一直接需要的是
Boost::shared\u ptr

在我的项目中,仅仅包含
共享\u ptr
所需的文件,或者至少只包含Boost smart\u ptr目录的文件,会很困难吗?它们似乎对Boost的其他部分有一些外部依赖性,但我认为有一种简单的方法可以使用Boost库的某些组件,而我却错过了它


如果你能告诉我我需要什么样的零件或给我一个好的教程,我将不胜感激

您只能像这样包含来自boost的共享\u ptr头

#include <boost/shared_ptr.hpp>
#包括
请看一个基本示例或更多示例

您可以用这种方式包含boost库的几乎每个部分,并且它几乎没有其他依赖项(仅适用于一些更复杂的库)

您可以使用该工具仅提取所需的头

bcp shared_ptr /foo

这将
shared_ptr
和所有依赖项复制到目录foo

好吧,bcp页面说它将为
boost/shared_ptr.hpp
找到274个标题依赖项-对于一个编译器和一个配置来说,大多数都不需要。我认为从boost中提取库并不是那么容易(听起来OP想要保持共享,而扔掉其余的)。@UncleBens是的,这正是我想要做的——不过我很感谢你的建议!)你误解了这个问题,这个问题不是“我如何使用#包含在boost文件中”,而是“我如何确定我需要分发哪些boost文件以便#包含工作?”有点不清楚:你想为你的项目复制boost的一部分吗?为什么?@UncleBens:因为Boost是一个巨大的东西,很多人不喜欢下载巨大的东西。