关闭

function_bind_lambda

标签: c11
43人阅读 评论(0) 收藏 举报
分类:
#include <iostream>
#include <memory> // shared_ptr
#include <functional>

class A {
public:
    void doit() {
        std::cout << "funck" << std::endl;
    }
    int add(int x, int y) {
         return x + y;
    }
};
//int main() {
//  // auto a = std::make_shared<A>();
//  // same as 
//  std::shared_ptr<A> a(new A);
//  std::function <void(A*)> f(&A::doit); 
//  f(a.get());
//}

//int main() {
//  auto a = std::make_shared<A>();
//  auto func = std::bind(&A::doit, std::placeholders::_1);
//  func(a);
//}

//int main() {
//  // auto a = std::make_shared<A>();
//  // same as 
//  std::shared_ptr<A> a(new A);
//  std::function <int(A*, int, int )> f(&A::add); 
//  std::cout << f(a.get(), 1, 2) << std::endl;
//}

//int main() {
//  auto a = std::make_shared<A>();
//  auto func = std::bind(&A::add, std::placeholders::_1, 1, 2);
//  std::cout << func(a) << std::endl;
//}

int main() {
    auto a = std::make_shared<A>();
    auto f = [a]() {return a->add(3, 4); };
    std::cout << f() << std::endl;
}

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

C++中的bind function lambda

本文是C++0x系列的第四篇,主要是内容是C++0x中新增的lambda表达式, function对象和bind机制。之所以把这三块放在一起讲,是因为这三块之间有着非常密切的关系,通过对比学习,加深对...
  • yusiguyuan
  • yusiguyuan
  • 2014-11-06 23:16
  • 569

对STL的增加之函数对象篇:实现函数与回调bind/Lambda/function/signals

函数与回调: bind:是函数适配器的增强,可以适配任意可调用对象,包括了函数指针、函数引用、函数对象,把它们变成一个新的函数对象。 function库:对函数指针类型的增强,能容纳任意的可调用对象...
  • wodeyijia911
  • wodeyijia911
  • 2014-03-11 20:52
  • 550

类模板 函数指针 function函数 bind,线程池 lambda函数的使用

类模板函数 function函数的使用
  • qq_19272431
  • qq_19272431
  • 2017-11-20 17:48
  • 51

C++11:lambda表达式、bind函数、function类型

#include #include using namespace std; //lambda表达式:表示一个可调用单元,理解为一个未命名的内联函数。 //[capture list] (para...
  • yvhqbat
  • yvhqbat
  • 2016-07-13 15:49
  • 349

基于boost的bind与function的消息处理框架

  • 2018-01-10 08:53
  • 25KB
  • 下载

Lambda-Function-in-Cplus

  • 2013-12-18 23:23
  • 130KB
  • 下载

C++中function和bind是如何实现的

  • 2013-10-25 22:05
  • 6KB
  • 下载

Lambda表达式:代替std::bind的绝佳方法

Lambda表达式:代替std::bind的绝佳方法 lambda表达式使得函数指针有了更灵活的使用方法,但是有些时候,对于大型的函数,还是不建议用lambda表达式,谁也不想在函数里又看到一段长长...
  • czyt1988
  • czyt1988
  • 2016-04-18 17:32
  • 1579

C++ Primer : 第十章 : 泛型算法 之 lambda表达式和bind函数

lambda表达式和bind函数
  • JY_95
  • JY_95
  • 2015-08-18 22:19
  • 715

【C++】bind+function的回调机制

本节研究C++中bind+function的回调机制。
  • skyuppour
  • skyuppour
  • 2015-03-22 22:02
  • 1787
    个人资料
    • 访问:7413次
    • 积分:1763
    • 等级:
    • 排名:千里之外
    • 原创:172篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    最新评论