首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【C++篇】C++11:包装器

    占位符placeholders::_n: arg_list中的参数可能包含形如placeholders::_n的名字,其中n是一个整数,这些参数是“占位符”,表示newCallable的参数,它们占据了传递给...数值n表示生成的可调用对象中参数的位置,比如placeholders::_1为newCallable的第一个参数,placeholders::_2为第二个参数,以此类推。...::_1, placeholders::_2); //func2的类型为 function 与func1类型一样 //表示绑定函数 plus 的第一...::_1, placeholders::_2); std::function func2 = std::bind(&Sub::sub, s, placeholders...::_1, placeholders::_2); 调整传参顺序 调整传参只需改变arg_list中参数占位符的顺序即可 如图: 总结一下bind包装器的意义: 将一个函数的某些参数绑定为固定的值

    25810

    【C++11】C++11——包装器

    ::_1, placeholders::_2); cout << func1(10, 20) << endl; return 0; } 第一个参数传入函数指针,后面传入绑定的参数列表依次是placeholders...::_1和placeholders::_2,表示后续调用新生成的可调用对象时,第一个参数传给placeholders::_1,第二个参数传给placeholders::_2。...固定绑定参数 参数是可以进行固定绑定的:比如我们把Plus函数的第二个参数固定绑定为10,可以在绑定时将参数列表的placeholders::_2设置为20: #include ...,因为在调用时会固定帮我们传入一个匿名对象给this指针. bind包装器的传参是可以进行调整的,将sub成员函数用于相减的两个参数的顺序交换,那么直接在绑定时将placeholders::_1和placeholders...::_2, placeholders::_1); cout << func5(10,20) << endl;//10 return 0; } bind包装器可以将一个函数的某些参数绑定为固定值

    57520
    领券