草庐IT

ZN5boost

全部标签

c++ - 如何在 std::map 中使用 boost::mutex 作为映射类型?

我想像这样在另一个映射中锁定键/索引:std::mappointCloudsMutexes_;pointCloudsMutexes_[index].lock();但是,我收到以下错误:/usr/include/c++/4.8/bits/stl_pair.h:113:error:nomatchingfunctionforcallto'boost::mutex::mutex(constboost::mutex&)':first(__a),second(__b){}^它似乎适用于std::vector,但不适用于std::map。我做错了什么? 最佳答案

python - 如何通过 Boost.Python 从 python 文件导入函数

我是boost.python的新手。看了很多推荐使用boost.python来应用python的,但是还是不太容易理解和找到适合我的解决方案。我想要的是直接从python“SourceFile”导入一个函数或类示例文件:main.cpp我的Python类.py假设“MyPythonClass.py”中有一个带有“bark()”函数的“Dog”类,我如何在cpp中获取回调和发送参数?我不知道我该怎么办!请帮助我! 最佳答案 当需要从C++调用Python,而C++拥有main函数时,则必须在C++程序中嵌入Python中断程序。Boo

c++ - 链接器需要 lib 文件名称中的编译器和 Boost 版本。 fatal error LNK1104

要安装boost,我运行b2installoptimization=speedvariant=debug,release--layout=tagged--prefix=BOOST_DIRlib文件的名称看起来像...libboost_serialization-mt.liblibboost_serialization-mt-gd.lib...当项目链接时出现错误LINK:fatalerrorLNK1104:cannotopenfile'libboost_serialization-vc140-mt-gd-1_62.lib'这个文件在项目设置中没有设置任何名称,只设置了这个文件的目录。如

c++ - boost::asio lib 的那些 async_* 函数是否由操作系统并行执行

最近我在使用boost::asio库,并且对那些async_*函数有疑问。假设我连续调用多个boost::asio::async_write(),这些async_write()函数是否可能由底层操作系统并行执行,即使io_service是单线程运行的谢谢! 最佳答案 isitpossiblethattheseasync_write()functionsexecutedparallellybytheunderlyingoperatingsystem是的,他们是!有两种类型的异步操作,CPU绑定(bind)任务和IO绑定(bind)任务

c++ - boost program options 一个选项的多个值

当我在命令行键入a.out-ifile0file1时,我希望选项-i接收file0和file1但是,-i只接收file0而不是file1但是,我发现我必须输入a.out-ifile0-ifile1才能使-i选项接收到file0和file1boost::program_options可以这样做吗?代码改编自http://www.boost.org/doc/libs/1_62_0/libs/program_options/example/options_description.cpp#includeusingnamespaceboost;namespacepo=boost::program

c++ - 如何在 CentOS 7.3 64bit 上安装 boost 库?

我需要在CentOS上构建一个使用Boost库的C++项目。我试过这个:yuminstallboost-devel但是我遇到了依赖错误并且没有安装Boost:-->ProcessingDependency:libicuuc.so.42()(64bit)forpackage:libboost_regex1_59_0-1.59.0-1.x86_64-->ProcessingDependency:libicui18n.so.42()(64bit)forpackage:libboost_regex1_59_0-1.59.0-1.x86_64-->ProcessingDependency:lib

c++ - 混合 boost::optional 和 std::unique_ptr

我承认:我爱上了可选的概念。自从我发现它以来,我的代码质量有了很大的提高。明确变量是否有效比简单的错误代码和带内信号要好得多。它还让我不必担心必须阅读文档中的契约(Contract),或者担心它是否是最新的:代码本身就是契约(Contract)。就是说,有时我需要处理std::unique_ptr。这种类型的对象可能为空,也可能不是;在代码中的给定点不可能知道std::unique_ptr是否应该有值;不可能从代码中知道契约。我想以某种方式混合optional(可能与boost::optional)和std::unique_ptr,这样我就有一个动态分配的对象,具有范围破坏和适当的复制

c++ - 如何在VS2017中的boost spirit x3中制作递归规则

我在boost::spirit::x3中编写了以下递归规则,但它似乎只能在g++/clang中编译,而不是VS2017(15.5.3):#include#includenamespacelex3{namespacex3=boost::spirit::x3;x3::ruleconstfoo="foo";x3::ruleconstbar="bar";autobar_def=*((x3::char_-"/*")-"*/")>>*(foo>*((x3::char_-"/*")-"*/"));autofoo_def="/*">bar>"*/";BOOST_SPIRIT_DEFINE(foo)BO

c++ - Boost 堆栈跟踪不显示函数名称和行号

我通过尝试一个简单的示例来探索boost::stacktrace来打印递归函数的调用堆栈。#include"boost/stacktrace.hpp"intfactorial(intx){if(x但是代码的输出不包含任何关于函数名和行号的信息:0#0x000055A6F6B57C0Fin/home/user/myapp1#0x000055A6F6B57C42in/home/user/myapp2#0x000055A6F6B57C42in/home/user/myapp3#0x000055A6F6B57C42in/home/user/myapp4#0x000055A6F6B57C9Din

c++ - 如何将 `boost::range` 迭代器与标准迭代器一起使用

我有接受std::vector迭代器的函数,如typedefstd::vectorPoints;PointsConvexHull(Points::const_iteratorfirst,Points::const_iteratorlast);我通常将std迭代器传递给它们,但偶尔我需要使用boost迭代器,例如boost::join's范围迭代器。我应该如何更改我的函数的参数化,最好没有模板,以便它们接受两个迭代器?此外,如何在每种类型中指出我需要哪些迭代器概念?我试着查看boost::range文档,但它让我非常困惑,我不知道从哪里开始。例如,我找不到boost::range_det