草庐IT

bessel-functions

全部标签

c++ - std::function 的移动构造函数的异常规范是什么?

我看过cppreference.com并且它们似乎表明在std::function(std::function&&)上没有noexcept规范。这对我来说似乎很奇怪。在这种情况下,标准真的不提供不抛出保证吗? 最佳答案 引用标准(根据您的要求):C++11§20.8.11.2.1/6(fromN3290):function(function&&f);templatefunction(allocator_arg_t,constA&a,function&&f);Effects:If!f,*thishasnotarget;otherwis

c++ - 如何将具有不同参数的 std::function 传递给同一函数

我希望将三个功能合并在一起。每个都将std::function作为第一个参数,然后在try/catchblock中执行它。问题是,存在三种不同类型的函数。不带参数的函数、带一个整数参数的函数和带两个整数参数的函数。整型参数的也有相应的参数通过原函数传递。如您所见,每个功能几乎相同,所以如果我能将它们合并在一起就好了。但是,我不确定是否要设置一个可以接收任何形式的std::function的参数,并且还依赖于它已经提供了相应的数据以供使用。函数如下:voidrun_callback(std::function&func){try{func();}catch(conststd::excep

c++ - 比较两个 boost::function

voidff(int){}voidUnscribe(constboost::function&f){std::map>map;map[0]=ff;if(map[0]==f){}}Unscribe(ff);我希望能够比较两个具有相同签名的boost::function。我应该修改什么以使此代码可编译? 最佳答案 你不能。阅读boostfunctionFAQ的第一个条目:Whycan'tIcompareboost::functionobjectswithoperator==oroperator!=?Comparisonbetweenbo

c++ - std::async 可以调用 std::function 对象吗?

是否可以使用std::async调用通过std::bind创建的函数对象。以下代码编译失败:#include#include#includeusingnamespacestd;classAdder{public:intadd(intx,inty){returnx+y;}};intmain(intargc,constchar*argv[]){Addera;functionsumFunc=bind(&Adder::add,&a,1,2);autofuture=async(launch::async,sumFunc);//ERRORHEREcout错误是:没有匹配函数来调用“async”:候

c++ - "__comp cannot be used as a function"c++ 尝试 next_permutation

我正在尝试使用STL中的next_permutation进行排列,但是我遇到了一个错误,我不知道如何修复它。我试过谷歌搜索,但唯一出现的结果是人们使用相同的函数和函数的变量名称,但这里不是这种情况。这是错误:'__comp'cannotbeusedasafunction代码如下:structrectangle{intn;inth;intw;};boolcheck(constrectangle&rect1,constrectangle&rect2){returnrect1.n这是完整的源代码以及示例输入,以备不时之需http://pastebin.com/eNRNCuTf

c++0x std::function 作为方法参数

我正在尝试传递std::function通过这样的方法:classdispatch{public:deliver(std::functiontask);};这按预期工作。但是我希望将参数传递给作为任务提供的一些方法,但不想为所有不同的function创建重载。表格。例如是否有可能只创建如下的方法deliver(std::function&task);然后调用dispatch->deliver(bind(&Object::method,X));或dispatch->deliver(bind(&Object::method,X,arg1,arg2));等...感谢大家的意见。看来我真正的错

c++ - 是否有类似于/等同于 Functional Java 的 C++ 库?

是否有与优秀的FunctionalJavalibrary类似或等同的开源C++库??具体功能包括:对可迭代对象或类似对象进行映射、fold/缩减、过滤等选项类型不可变数据结构实现(出于好奇,已经离开C++多年)是的,传统上认为其中一些功能需要垃圾回收。但是对于现代C++功能和库,是否有人开始通过函数转换或其他方式传递托管指针?更新明确地说,我想知道是否存在与FunctionalJava类似的东西,因此以下可能是典型的语法://assumptions://*my_listisastandardlibraryiterableofints//*fisafunctionofintthatret

c++ - 在 C++11 中使用 std::function 作为委托(delegate)

假设我有这3个不同的函数,我可能想指出:floattest1(inta,intb){return7.0f;}structTestClass{floattest2(inta,intb){return5.0f;}};structTestClass2{floattest3(inta,intb){return3.0f;}};注意这三个函数如何使用相同的参数和返回值。我想抽象掉它是否是一个成员函数以及它属于哪个类。我想要一个委托(delegate)类型,它可以引用这3个函数中的任何一个,具体取决于它的初始化方式。这是我的第一次尝试:typedefstd::functionMyDelegate;/

c++ - 设置一个 std::function 变量来引用 std::sin 函数

我有一个关于如何正确使用新的C++11std::function变量的问题。我在网上搜索过几个例子,但它们似乎没有涵盖我正在考虑的用例。以这个最小的例子为例,其中函数fdiff是numerical.hxx中定义的有限前向差分算法的实现(这不是问题,我只是想给出我想要采用任意函数并将其传递的上下文原因)。#include#include#include#include"numerical.hxx"intmain(){doublestart=0.785398163;doublestep=0.1;intorder=2;std::functionf_sin=std::sin;std::cout

c++ - 成员初始化列表 : initialize two members from a function returning a tuple

memberinitializerlist中的多个成员是否可以从函数获得的元组中初始化?随着通过元组返回多个值变得越来越流行,我希望有一个解决方案。除了语言限制,我看不出有什么其他原因无法做到这一点。这是我所拥有的mcve:autonew_foo(std::size_tsize)->std::tuple,int*>{autobuffer=std::make_unique(size*sizeof(int)+8);autobegin=static_cast(static_cast(buffer.get()+4));returnstd::make_tuple(std::move(buffer