草庐IT

boost-lambda

全部标签

c++ - 将 Boost 序列化与 xml_oarchive 一起使用时 assertion_failed

在编译BoostSerialization的简单测试时:classTest{protected:intNum;friendclassboost::serialization::access;templatevoidserialize(Archive&ar,constunsignedintversion){ar&BOOST_SERIALIZATION_NVP(Num);}public:Test():Num(0){}~Test(){}};使用xml_oarchive进行输出,我遇到以下GCC错误:C:\Development\Libraries\boost_1_55_0\boost\mpl

c++ - 在 boost::posix_time 中设置值(年、月、日...)

在一个类中,我有一个属性boost::posix_time::ptime,它指的是这样的日期和时间:boost::posix_time::ptimep_;在构造函数中,我可以毫无问题地传递值和设置它们。my_class::my_class(...):p_(boost::posix_time::ptime(boost::gregorian::date(y,M,d),hours(h)+minutes(m)+seconds(s)+milliseconds(ms)+microseconds(us)+nanosec(ns));我想为这个ptime的所有字段(年、月、日、小时......如果可能的

c++ - 为什么 boost uniform_int_distribution 采用封闭范围(而不是半开放范围,遵循常见的 C++ 用法)?

标题说明了一切。甚至还有一个warning在文档页面中:Warning:ContrarytocommonC++usageuniform_int_distributiondoesnottakeahalf-openrange.Insteadittakesaclosedrange.Giventheparameters1and6,uniform_int_distributioncancanproduceanyofthevalues1,2,3,4,5,or6.当C++中的常见做法是使用开放范围[begin,end)时,为什么要这样做? 最佳答案

c++ - lambda 的类型是什么?

我见过这样的代码:std::sort(x,x+N,//Lambdaexpressionbegins[](floata,floatb){returnstd::abs(a)显然std::sort的第三个参数是可以容纳lambda的类型。但那是什么类型?std::sort过载太多,我无法破译它。(我正在考虑构建一个函数列表:我正在考虑使用lambda而不是函数指针,因为后者必须具有大致相同的参数列表)。我想我可以写autoletTheComplerSortOutTheType=[](floata,floatb){returnstd::abs(a)但这对我使用容器没有帮助。

如何在课堂中正确使用Boost通道(和纤维)?

我正在尝试在课堂上使用Boost频道和纤维。这是一个简单的测试用例工作正常但这并不是我想要的。如果我移动”线:1“至”LOC:1“程序悬挂(GDB在c->push(a)之后的boost::纤维内的一个旋转锁显示。任何人都可以通过指向我做错了什么来帮助我吗?谢谢。这是有效并生成以下的示例代码,#include#includeusingnamespacestd;templateclassBlock{private:typedefboost::fibers::buffered_channelchannel_t;typedefboost::fibers::fiberfiber_t;fiber_t

python - Python 3 无法通过 Boost.Python 嵌入将 C++ 类识别为模块

以下来自Boost.Pythonv1.56的示例展示了如何将Python3.4.2解释器嵌入到您自己的应用程序中。不幸的是,在我的Windows8.1下使用MSVC2013的配置中,该示例无法开箱即用。而且我还没有找到1个关于嵌入的完整工作示例,至少没有一个小于10年左右。我在运行它时收到以下错误:ImportError:'embedded_hello'isnotabuilt-inmodule代码在这里:http://pastebin.com/shTtdxT8有什么提示可以让它运行吗?通常如何在Python中公开C++类,反之亦然? 最佳答案

c++ - Boost,如何将以下字符串解析为日期/时间

我有以下毫秒/微秒精度字符串来解析为某种提升日期时间。std::stringcell="2009120100:00:04.437";我看过有关分面的文档。像这样date_input_facet*f=newdate_input_facet();f->format("%Y%m%d%F*");但我不知道如何使用它们。我用从StackOverflow中搜集的代码尝试了这个程序,但我无法显示毫秒数:#include#include#include#include#include#include#include#includenamespacebt=boost::posix_time;consts

c++ - boost::exception 和 std::exception 之间的关系

假设有如下代码:try{//Dosomebooststuffhere}catch(conststd::exception&stdEx){cout问题:1)我知道代码适用于某些boost异常,即使std::exception和boost::exception不在同一个继承路径上。为什么它会起作用?2)它是否适用于所有boost异常?换句话说,是否有可以触发低于std::exception处理程序的boost::exception处理程序的示例? 最佳答案 如您所说,boost::exception不是从std::exception派生

c++ - lambda 函数的快速和通用使用

动机我创建了一个头文件,将Matlab的mex功能包装在c++11类中;特别是对于MxNxC图像。我创建的两个函数是forEach,它迭代图像中的每个像素,还有一个forKernel,它给定图像中的内核和像素,迭代该像素周围的内核,处理各种漂亮的样板索引数学.我们的想法是可以像这样对滑动窗口进行编程:image.forEach([](Image&image,size_trow,size_tcol){//krandlcspecifywhichpixelisthecenterofthekernelimage.forKernel(row,col,kernel,kr,kc,[](Image&i

c++ - 在嵌套的 lambda 中应用 function_traits 时编译失败

首先,我有这样的东西,一个重命名的function_traits来获取lambda的返回类型templatestructFuncAnalyzer{};templatestructFuncAnalyzer{usingTReturn=TRet;};templatestructFunctionAnalyzer:publicFuncAnalyzer{};然后当我在一个方法中有这个时,那个compi:autoa=[](constint&key)->QString{returnQString::number(key);};usingb=FunctionAnalyzer::TReturn;bx;但是