刚好要做一个定时器,用asio的deadline_timer,通过异步等待方式去做,超时后重新设置超时时间再重新异步等待。

将lamda表达式放到function中,异步等待的时候再调用自身。

具体代码如下:

timer t;

io_service ios;
deadline_timer dt(ios, posix_time::seconds(2));
cout<<dt.expires_at()<<endl;

std::function<void()> f=[&](){
dt.async_wait([&](system::error_code er)
{
cout<<t.elapsed()<<endl;
dt.expires_at(dt.expires_at()+posix_time::seconds(1));
f(); //调用自身
});
};

f();

ios.run();

转载于:https://www.cnblogs.com/qicosmos/archive/2013/04/03/2997878.html

c++ lamda表达式调用自身实现定时器相关推荐

  1. Java回调的四种写法(反射、直接调用、接口调用、Lamda表达式)

    1. 引言 在计算机程序设计中,回调函数,简称回调(Callback),是指通过函数参数传递到其他代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序. 以上是维基百科对&qu ...

  2. 委托、lamda表达式..委托概念-匿名函数-泛型委托-Lamda表达式-多播委托

    委托 一.什么是委托? 将一个方法作为参数传递给另一个方法(参数类型为委托delegate).   声明一个委托类型. 委托所指向的函数必须跟委托具有相同的的签名(参数个数.参数类型.返回值一样). ...

  3. 为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式...

    为了去重复,写了一个通用的比较容器类,可以用在需要比较的地方,且支持Lamda表达式,代码如下: public class DataComparer<T>:IEqualityCompare ...

  4. [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用

    [.net 面向对象程序设计进阶] (7) Lamda表达式(三) 表达式树高级应用 本节导读:讨论了表达式树的定义和解析之后,我们知道了表达式树就是并非可执行代码,而是将表达式对象化后的数据结构.是 ...

  5. 一个小案例精通lamda表达式与函数式接口

    前言:只有基础(多态.匿名接口实现类)足够扎实才能更好的学习花拳绣腿(lamda表达式),Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性.Lambda 允许把函数作为一 ...

  6. java构造函数传参_java 构造函数 , 参数传递 , lamda表达式

    1.  java 子类中必须显式或者隐式的调用父类的构造方法,原因是双亲委派机制.java 在创建一个对象是,会在构造方法中依次向上调用父类的构造方法. 为了找到父类的构造方法,所以子类应显式或者隐式 ...

  7. java工作笔记017---java8新特性_使用lamda表达式进行List分组_排序_去重_随时更新

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这个电视购物项目后台采用java1.8编写,有些业务复杂的地方,使用lamda表达式可以简化开发 ...

  8. QT学习(六)——Lamda表达式的使用

    Lambda表达式: c++11新增特性,需要在项目文件中加入CONFIG+=C++11 QT配合信号一起使用,很方便 QPushButton *lamda=new QPushButton(this) ...

  9. Lamda表达式学习总结

    Lamda表达式(希望一行代码处理完) 1.IMesssage msg =(参数)-> 输出语句(参数) // IMessage里面只能有一个方法否则报错    @FunctionalInter ...

最新文章

  1. 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
  2. Airflow 中文文档:插件
  3. KVM-Arch-Figure
  4. 第八:Pytes中的fixture大解剖(二)
  5. 2022-01-11总结(补)
  6. EHS法律法规的收集渠道
  7. Eclipse 汉化包
  8. Linux 硬盘读写测速
  9. Windows VM虚拟机安装苹果雪豹操作系统
  10. 理解手机中的感应器模块:重力感应/光线感应/电子罗盘/陀螺仪模块功能
  11. 国庆节,企查查我来啦~
  12. 相机光学(十二)——面阵相机与线阵相机
  13. 基于原子势函数及人工蜂群算法进行形状匹配优化(Matlab代码实现)
  14. itools安装驱动组件失败解决办法,实测有效
  15. Intellij IDEA 2019 激活码(注册码)
  16. 研究开发出 3D 打印 “食品墨水”
  17. 使用ar_receipt_api_pub.apply失误
  18. 简单说 一道JS闭包面试题
  19. 身为一个程序媛的深刻自我检讨
  20. 36岁互联网高管从大厂裸辞,专门卖书快乐多了

热门文章

  1. Rsync常见错误及命令详细参数
  2. jquery 停止事件冒泡方法
  3. 如何在win7上添加自动启动项
  4. 【转载】Linux平台软件包管理完全攻略
  5. .NET开发Silverlight程序:界面和对象模型
  6. NAC、NAP及TNC安全接入技术对比分析
  7. 持续集成和持续部署CI/CD简介
  8. 服务超时时间如何设置、如何对超时时间治理、超时设计原则一文揭秘!
  9. 华为鸿蒙系统议论文素材,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  10. android capitalize,How to capitalize every letter in an Android EditText?