博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
boost::bind boost::function
阅读量:5036 次
发布时间:2019-06-12

本文共 1015 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#include
#include
using namespace boost; using namespace std; class point {public: point(int a=0,int b=0):x(a),y(b) {} void print() { cout << "(" << x << "," << y << ")\n"; } void setX(int a) { x = a; } void setXY(int _x,int _y) { x = _x; y = _y; } private: int x,y; }; int main(int argc, char ** argv) { point p1,p2; p1.print( ); p2.print( ); bind(&point::setXY, &p1, _1, _2)(1, 2); bind(&point::setXY, p2, _1, _2)(3, 4);; p1.print( ); p2.print( ); function
f1 = bind(&point::setXY, &p1, _1, _2); function
f2 = bind(&point::setXY, p2, _1, _2); f1(5, 6); f2(7, 8); p1.print( ); p2.print( ); function
f3 = &point::setXY; function
f4 = &point::setXY; f3(&p1, 10, 20); f4(p2, 30, 40); p1.print( ); p2.print( ); return 0;}

 结果:

(0,0)(0,0)(1,2)(0,0)(5,6)(0,0)(10,20)(0,0)

 

转载于:https://www.cnblogs.com/liuzhijiang123/p/3732657.html

你可能感兴趣的文章
Docker-Mysql-proxy Mysql Proxy实现读写分离
查看>>
mysql 的基本使用命令
查看>>
字符串排序之一
查看>>
判断三角形类型方法的单元测试
查看>>
C++学习笔记51:排序
查看>>
spring.factories
查看>>
php使用amqplib方式使用rabbitmq
查看>>
打印控件
查看>>
技术团队的目标管理
查看>>
gitlab的介绍
查看>>
利用logging.basicConfig生成文件--中文乱码解决方法
查看>>
matlab新手入门(二)(翻译)
查看>>
Python 编码规范 PEP8
查看>>
mac os 下安装 nmap网络扫描和嗅探工具包
查看>>
python 迷宫问题
查看>>
Ubuntu 14.04 源
查看>>
android界面开发那点事
查看>>
js事件基础
查看>>
玩转CPU Topology
查看>>
jquery实现可以中英切换的导航条
查看>>