草庐IT

LDAP_bind

全部标签

c++ - 为什么这个引用绑定(bind)格式错误?

考虑这段代码:int**p=0;classS{public:explicitoperatorint**&(){returnp;}};intmain(){Sa;int*const*&b(a);//errorinbothg++-7andclang-5.0with"-std=c++17"return0;}你会同意从int**到int*const*的限定转换是可能的,并且int*const*&b(a)是一个直接初始化。首先,我们引用n4700中的11.6.3第5段[dcl.init.ref].Areferencetotype“cv1T1(=int*const*)”isinitializedby

c++ - 将函数直接传递给 std::async 和使用 std::bind 有什么区别?

我最近开始向我正在处理的库添加异步支持,但我遇到了一个小问题。我从这样的事情开始(稍后会有完整的上下文):returnexecuteRequest(false,d,&callback,false);那是在添加异步支持之前。我试图将其更改为:returnstd::async(std::launch::async,&X::executeRequest,this,false,d,&callback,false);但是编译失败。MCVE:#include#includeintcallback(constint&t){std::coutTexecuteRequest(boolmethod,Req

C++ SQL绑定(bind)参数

这里是变量的声明:stringstrFirstName;stringstrLastName;stringstrAddress;stringstrCity;stringstrState;doubledblSalary;stringstrGender;intintAge;...做一些“cin”语句来获取数据...retcode=SQLPrepare(StatementHandle,(SQLCHAR*)"INSERTINTOEMPLOYEE([FirstName],[LastName],[Address],[City],[State],[Salary],[Gender],[Age])VALU

c++ - 如何为 boost::bind 强制模板函数重载?

我正在尝试通过使用boost::bind和boost::contains为std::find_if创建谓词(来自提升/算法/字符串库)。以下代码段显示了我如何尝试实现此目的的两种方式。#include#include#include#include#includeintmain(intargc,char**argv){std::strings1("hellomom");std::strings2("byemom");boost::functionf=&boost::contains;std::coutcontain_hello=boost::bind(boost::contains,_

c++ - 如何在 C++ 绑定(bind)中使用不透明指针包装 C 库

我正在考虑用C++包装一些C库,但我不确定包装不透明指针的最佳方法是什么。当C语言结构是公共(public)API的一部分时typedefstruct_SomeType{inta;intb;}SomeType_t;有几个“成员”函数的地方:voidSomeTypeFoo(SomeType_t*obj,...);voidSomeTypeBar(SomeType_t*obj,...);我喜欢从基派生的方法,将这些“成员”函数简单地关联为实际的类成员。即:classSomeTypeWrapper:publicSomeType_t{voidfoo(...);voidbar(...);};就我的

C++ std::bind 重新绑定(bind)函数

如果我像这样绑定(bind)一个函数,在绑定(bind)时使用占位符std::bind(memberFunctionPointer,objectPointer,_1,_2);然后是否可以稍后“重新绑定(bind)”它以替换一些/所有占位符,但不调用该函数?我希望能够传入一些参数然后存储它,以便稍后调用。(延迟回调) 最佳答案 您可以再次绑定(bind):autof=std::bind(memberFunctionPointer,objectPointer,_1,_2);autog=std::bind(f,val1,val2);g()

c++ - 在 C++ 中绑定(bind)多个引用的临时对象的生命周期

C++标准草案N4296说[class.temporary/5]Thesecondcontextiswhenareferenceisboundtoatemporary.Thetemporarytowhichthereferenceisboundorthetemporarythatisthecompleteobjectofasubobjecttowhichthereferenceisboundpersistsforthelifetimeofthereferenceexcept...所以我想知道如果两个或多个引用绑定(bind)到一个临时文件会发生什么。它在标准中有具体规定吗?以下代码可能

c++ - 无法从 std::bind 推断出 std::function 的模板参数

我正在尝试找到一种方法来调用多个类成员函数,每个函数都有不同的参数,并且在调用前后会发生某些已知功能。这个包装函数是我试过的,但是例如对它的最终调用不会编译错误:'boolWrapper(Work*,std::function,Args&&...)':couldnotdeducetemplateargumentfor'std::function'from'std::_Bind,Work*const>'classWork{public:voidDoWork(inta,doubleb,stringc);private:voidPre(){};voidPost(){};boolStep1()

v-bind详解与常见用法

我的感悟你真的了解v-bind吗,它的api其实挺多的,如果你没有仔细看完官网,恐怕只知道v-bind是用来绑定值可变的属性。如果不愿意看官网的小伙伴或者是觉得官网晦涩难懂,可以我这篇文章,你会熟悉更多关于v-bind的使用。如有错误,欢迎大家批评指正提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录目录我的感悟文章目录我的感悟一、v-bind是什么?二、详细用法总结 1.v-bind介绍     2..v-bind动态绑定class(对象方法) 3.v-bind动态绑定class(数组语法)  4.v-bind动态绑定style(对象语法) 5.v-bind动态绑定st

c++ - std::bind 和作用域后堆栈使用

所以,今天我在运行一些使用AddressSanitizer构建的代码时,偶然发现了一个奇怪的作用域后堆栈使用错误。我有这个简化的例子:#includeclassk{public:operatorint(){return5;}};constint&n(constint&a){returna;}intmain(){kl;returnstd::bind(n,l)();}ASAN提示最后一行代码:==27575==ERROR:AddressSanitizer:stack-use-after-scopeonaddress0x7ffeab375210atpc0x000000400a01bp0x7f