C++ bind
来源:互联网 发布:个人商城源码 编辑:程序博客网 时间:2024/05/21 09:32
前几天用lambda写了一个程序 http://blog.csdn.net/ink_cherry/article/details/74129946
bind是用来绑定函数调用参数
这个bind 的用途,是延时执行函数 支持占位符操作
这个bind 的用途,是延时执行函数 支持占位符操作
一个简单的bind 例子
#include<iostream>#include<functional>int substract(int a, int b){return b - a;}int main(){auto bindsbstact = std::bind(substract, std::placeholders::_2,std::placeholders::_1);std::cout << bindsbstact(5, 10); //等价于执行substract(10,5)auto bindsbstact2 = std::bind(substract, 10, std::placeholders::_1);std::cout << bindsbstact2(5); //等价于执行substract(10,5)}
打印-5 -5
占位符就是 参数位置 _1 _2 _x代表原函数的第x参数
函数使用形式
bind(f [,t][,…]) // 自动推断
bind<返回值类型>(f [,t][,…]) // 非自动推断
bind<返回值类型, 函数类型, 绑定器传入参数类型>(f ,[…]) // 非自动推断
bind<返回值类型, 函数参数类型, 绑定器传入参数类型>(f [,…]) // 非自动推断
bind<返回值类型, 类, 绑定器传入参数类型(即对应的类实例)>(T::*f ,t [,…]) // 非自动推断
bind<返回值类型, 类, 函数参数类型, 绑定器传入参数类型(即对应的类实例+函数传入的参数), >(T::*f ,t [,…]) // 非自动推断
一个简单的bind 例子
#include<iostream>#include<functional>int substract(int a, int b){return b - a;}int main(){auto bindsbstact = std::bind(substract, std::placeholders::_2,std::placeholders::_1);std::cout << bindsbstact(5, 10); //等价于执行substract(10,5)auto bindsbstact2 = std::bind(substract, 10, std::placeholders::_1);std::cout << bindsbstact2(5); //等价于执行substract(10,5)}
打印-5 -5
占位符就是 参数位置 _1 _2 _x代表原函数的第x参数
函数使用形式
bind(f [,t][,…]) // 自动推断
bind<返回值类型>(f [,t][,…]) // 非自动推断
bind<返回值类型, 函数类型, 绑定器传入参数类型>(f ,[…]) // 非自动推断
bind<返回值类型, 函数参数类型, 绑定器传入参数类型>(f [,…]) // 非自动推断
bind<返回值类型, 类, 绑定器传入参数类型(即对应的类实例)>(T::*f ,t [,…]) // 非自动推断
bind<返回值类型, 类, 函数参数类型, 绑定器传入参数类型(即对应的类实例+函数传入的参数), >(T::*f ,t [,…]) // 非自动推断
阅读全文
0 0
- C++bind
- C++bind小记
- bind server.c
- bind client.c
- bind query.c
- C++-----------------------------------------------------std::bind
- C++bind函数
- boost::bind And Objective-C
- bind()
- bind()
- Bind
- bind
- bind
- bind
- bind
- bind
- bind
- bind()
- JavaScript精华知识之对象部分
- 2017年书单(持续更新)
- Oracle之查看最近最消耗CPU的SQL语句及会话信息的方法
- NAT技术和代理服务器简介
- 软件测试之App测试-兼容
- C++ bind
- SuperAgent中文使用文档
- Oracle 树查询
- 从裸机到操作系统
- 聚类参考资料
- java基础
- UESTC-1006 最长上升子序列(最长递减子序列做法+贪心策略)
- java设计模式之一:简单工厂模式
- 周末复习html,最基础的知识,记下自己不太记得的东西