草庐IT

mobx-miniprogram-bindings

全部标签

c++ - 将成员函数添加到绑定(bind)到 Lua 的 C++ 类

我一直在研究如何将C++类绑定(bind)到Lua以便在游戏引擎中使用,我遇到了一个有趣的问题。我一直在关注这个网站上的教程:http://tinyurl.com/d8wdmea.在教程之后,我意识到他建议的以下代码:localbadguy=Monster.create();badguy.pounce=function(self,howhigh,bonus)self.jumpbonus=bonusor2;self:jump(howhigh);self:rawr();endbadguy:pounce(5,1);只会将突袭功能添加到怪物的特定实例。所以我将他建议的脚本更改为以下内容:fun

c++ - Boost::bind 一个带有 boost::function 参数的方法

我想为async_write提供一个额外的boost::function。我希望首先调用连接自己的HandleWrite函数,然后调用提供的boost::function。绑定(bind)asioasync_write的Connection成员方法voidConnection::HandleWrite(constboost::system::error_code&e,boost::functionhandler){//Coderemovedforclarityif(!handler.empty())handler(e);};尝试将HandleWrite绑定(bind)到asioasyn

c++ - 如何在 gSOAP 中绑定(bind)多态类型

我正在尝试做的事情,利用gSOAP:在XML模式中定义数据结构使用wsdl2h和soapcpp2生成表示这些结构的C++类从C++读取和写入XML中的这些结构请注意,此时我没有使用Web服务,我只对XML数据绑定(bind)感兴趣。如果我的类(class)是这样的:类基础{...Der1类:公共(public)基础{..Der2类:公共(public)基础{...然后我可以使用以下方法序列化一个Base对象(它实际上可能是派生类型之一):std::ofstreammyFile;myFile.open("output.out");ctx.os=&myFile;Der1obj;//orDe

c++ - 将 C++11 move 语义应用于绑定(bind)函数

我有一些现有的C++98代码,它们使用boost::function和boost:bind进行异步回调。一些相关的简化代码片段包括:typedefboost::functionWriteHandler;structWriteOperation{WriteOperation(constboost::shared_ptr&device,conststd::string&data,constWriteHandler&handler):m_Device(device),m_Data(data),m_Handler(handler){}private:boost::shared_ptrm_Dev

c++ - 为什么可以将 std::bind 分配给参数不匹配的 std::function?

我有如下代码:#include#includeusingnamespacestd;voidF(intx){coutf1=std::bind(F,std::placeholders::_1);f1(100);//Thisworks,willprint100.intx=0;std::functionf2=std::bind(F,x);f2();//Thisworks,willprint0.std::functionf3=std::bind(F,x);f3(200);//BUTWHYTHISWORKS??????Itprints0.return0;}我的编译器信息是:AppleLLVM版本6

c++ - 关于将 const 引用绑定(bind)到临时对象的子对象

代码如下#includestructP2d{doublex,y;P2d(doublex,doubley):x(x),y(y){}~P2d(){printf("Destructorcalled\n");}};P2dcenter(){returnP2d(10,10);}intmain(intargc,constchar*argv[]){constdouble&x=center().x;printf("x=%.18g\n",x);return0;}g++(版本5.2.0)将在中输入printf之前销毁P2d临时实例main,但该值无论如何都会被保留(即,不是将x绑定(bind)到临时P2d实

c++ - Lambda 隐式捕获因从结构化绑定(bind)声明的变量而失败

使用以下代码,我得到一个编译错误C2065'a':undeclaredidentifier(使用visualstudio2017):[]{auto[a,b]=[]{returnstd::make_tuple(1,2);}();autor=[&]{returna;}();//errorC2065}();但是,下面的代码可以编译:[]{inta,b;std::tie(a,b)=[]{returnstd::make_tuple(1,2);}();autor=[&]{returna;}();}();我认为这两个样本是等价的。是编译器错误还是我遗漏了什么? 最佳答案

c++ - 使函数内联会影响绑定(bind)到其参数的临时对象的生命周期吗?

这个问题与DoesthisC++staticanalysisrulemakesenseasis?有关,但有些不同。我现在已经实现了一个静态分析规则来查找函数返回其常量引用参数作为引用的情况,例如constX&f(constX&x){returnx;}当临时对象绑定(bind)到x时,这可能很狡猾,因为临时对象的生命周期将在f的返回值可以绑定(bind)到调用者,召集者。换句话说,这是有问题的:constX&r=f(X());在运行规则时,我在标准库中找到了min的实现,如下所示:templateinlineconst_Tp&min(const_Tp&__a,const_Tp&__b){

C++ 11 绑定(bind) std::function 与存储元组和解包

首先,我对C++11还是比较陌生,所以如果我遗漏了什么,请原谅我的疏忽。所以我想做的基本上是让调用者传入一个函数和该函数的任意参数,将其存储起来,然后稍后异步调用它。似乎有2个主要选项:使用std::bind将std::function绑定(bind)到它的参数(使用可变参数模板获得),然后稍后调用它将参数包转换为一个元组,存储它和std::function,然后再次将元组解压为多个参数并使用它调用函数问题是,一种方法比另一种更好吗?两者之间有优缺点/性能优势吗?谢谢!编辑:根据要求,这里有一个澄清,第一种情况是更早的绑定(bind),我将args绑定(bind)到函数,只要调用者传递

c++ - 具有不同签名的绑定(bind)函数

如果有人问过这个问题,我深表歉意。我以为你不能用不同的签名绑定(bind)函数,但看看这个:voidTakesChar(charparameter){std::cout;intmain(){CallBackcallback=std::bind(&TakesChar,std::placeholders::_1);callback(1.1f);callback(2.2f);return0;}编译并运行。您可以尝试不同的参数类型和数量。例如,您可以修改TakesChar,使其不带任何参数,但仍会编译。这是为什么?这背后有什么道理吗?我可以强制签名完全匹配吗?谢谢。