草庐IT

ZN5boost

全部标签

c++ - 使用 Boost Python & std::shared_ptr

我正在尝试让BoostPython与std::shared_ptr很好地配合使用。目前,我收到此错误:Traceback(mostrecentcalllast):File"test.py",line13,incomp.place_annotation(circle.centre())TypeError:Noto_python(by-value)converterfoundforC++type:std::shared_ptr来自调用circle.centre(),它返回一个std::shared_ptr。我可以将每个std::shared_ptr更改为boost::shared_ptr(

c++ - 使用 Boost.Phoenix 有什么好处?

我无法理解使用Boost.Phoenix的真正好处是什么。当我将它与Boost.Spirit语法一起使用时,它真的很有用:double_[boost::phoenix::push_back(boost::phoenix::ref(v),_1)]当我将它用于lambda函数时,它也很有用且优雅:boost::range::for_each(my_string,if_('\\'==arg1)[arg1='/']);但是这个库中其他所有内容的好处是什么?文档说:“无处不在的仿函数”。不明白有什么好处? 最佳答案 我会指出Boost.Lam

c++ - 使用 Boost.Phoenix 有什么好处?

我无法理解使用Boost.Phoenix的真正好处是什么。当我将它与Boost.Spirit语法一起使用时,它真的很有用:double_[boost::phoenix::push_back(boost::phoenix::ref(v),_1)]当我将它用于lambda函数时,它也很有用且优雅:boost::range::for_each(my_string,if_('\\'==arg1)[arg1='/']);但是这个库中其他所有内容的好处是什么?文档说:“无处不在的仿函数”。不明白有什么好处? 最佳答案 我会指出Boost.Lam

c++ - Boost C++ 正则表达式 - 如何获得多个匹配项

如果我有一个简单的正则表达式模式,比如“ab”。我有一个字符串,它有多个匹配项,如“abcabd”。如果我执行以下操作...boost::match_flag_typeflags=boost::match_default;boost::cmatchmcMatch;boost::regex_search("abcabd",mcMatch,"ab.",flags)然后mcMatch只包含第一个“abc”结果。如何获得所有可能的匹配项? 最佳答案 您可以像下面这个简短的示例一样使用boost::sregex_token_iterator:

c++ - Boost C++ 正则表达式 - 如何获得多个匹配项

如果我有一个简单的正则表达式模式,比如“ab”。我有一个字符串,它有多个匹配项,如“abcabd”。如果我执行以下操作...boost::match_flag_typeflags=boost::match_default;boost::cmatchmcMatch;boost::regex_search("abcabd",mcMatch,"ab.",flags)然后mcMatch只包含第一个“abc”结果。如何获得所有可能的匹配项? 最佳答案 您可以像下面这个简短的示例一样使用boost::sregex_token_iterator:

c++ - boost shared_lock。阅读首选?

我正在查看boost库(1.45版)的读/写锁。当我对其进行测试时,似乎shared_ptr更喜欢我的阅读器线程,即当我的编写器尝试为其操作获取锁时,它并没有阻止任何后续读取的发生。是否有可能在boost中改变这种行为?usingnamespacestd;usingnamespaceboost;mutexoutLock;shared_mutexworkerAccess;boolshouldIWork=true;classWorkerKiller{public:voidoperator()(){upgrade_locklock(workerAccess);upgrade_to_uniqu

c++ - boost shared_lock。阅读首选?

我正在查看boost库(1.45版)的读/写锁。当我对其进行测试时,似乎shared_ptr更喜欢我的阅读器线程,即当我的编写器尝试为其操作获取锁时,它并没有阻止任何后续读取的发生。是否有可能在boost中改变这种行为?usingnamespacestd;usingnamespaceboost;mutexoutLock;shared_mutexworkerAccess;boolshouldIWork=true;classWorkerKiller{public:voidoperator()(){upgrade_locklock(workerAccess);upgrade_to_uniqu

c++ - Boost Variant 本质上是 C/C++ 中的 union ?

我想知道c/c++中的BoostVariant和union数据类型之间有什么区别。我知道union数据类型占用相同的内存位置,并且内存区域中最大的数据类型占用使用的内存总量,例如unionspace{charCHAR;floatFLOAT;intINTEGER;}S;应该占用4个字节的内存,因为int和float是最大且相等的大小。BoostVariant和union数据类型在其他方面是否有相同点和不同点?我也知道BoostVariant可以采用任何数据类型,并且它允许数据类型“多态性”(如果我误用了OOP主题词,请纠正我)。因此,union数据类型也是一种多态性吗?

c++ - Boost Variant 本质上是 C/C++ 中的 union ?

我想知道c/c++中的BoostVariant和union数据类型之间有什么区别。我知道union数据类型占用相同的内存位置,并且内存区域中最大的数据类型占用使用的内存总量,例如unionspace{charCHAR;floatFLOAT;intINTEGER;}S;应该占用4个字节的内存,因为int和float是最大且相等的大小。BoostVariant和union数据类型在其他方面是否有相同点和不同点?我也知道BoostVariant可以采用任何数据类型,并且它允许数据类型“多态性”(如果我误用了OOP主题词,请纠正我)。因此,union数据类型也是一种多态性吗?

c++ - fatal error C1083 : Cannot open include file: 'boost/config.hpp' : No such file or directory

我想我做了所有必要的配置,但我仍然得到这个:Error1fatalerrorC1083:Cannotopenincludefile:'boost/config.hpp':NosuchfileordirectoryFile:c:\documentsandsettings\administrator\mydocuments\visualstudio2008\libs\boost_1_43_0\boost\smart_ptr\shared_ptr.hppLine:17这是我为包含和lib文件添加目录所做的设置屏幕截图:我错过了什么吗? 最佳答案