一段关于c++11中lambda表达式和std::function的体验代码
来源:互联网 发布:vscode代码提示快捷键 编辑:程序博客网 时间:2024/05/29 15:26
#include "stdafx.h"#include <iostream>#include <string>#include <functional>// lambda表达式可以使用std::function封装std::function<std::string(void)> getLambda1() {return [](){return "She said: ";};}// 要使用lambda表达式作为参数,需要使用函数模版template<typename Lambda>std::function<void(void)> getLambda2(Lambda l, const std::string& name){return [&](){l(name);std::cout << "Do you know me?" << std::endl;};}// 普通函数void foo() {std::cout << "I am foo!" << std::endl;}// 成员函数class CFoo{public:virtual void foo() {std::cout << "I am CFoo::foo!" << std::endl;}};//gcc 4.6.2 编译通过int _tmain(int argc, _TCHAR* argv[]){// auto类型可以自动推演出lambda表达式的类型auto lam1 = [&](const std::string& name){std::cout << (getLambda1())() << "I am " << name << ", a lambda expression!" << std::endl; };lam1("Lucy");getLambda2(lam1, "Lily")();// 在不使用第三方库的情况下,函数指针和成员函数指针终于可以是一个东西了{std::function<void()> f = foo;f();CFoo bar;f = std::bind(&CFoo::foo, &bar);f();}return 0;}
转载自http://www.cnblogs.com/legendlee/archive/2012/10/19/2730369.html
0 0
- 一段关于c++11中lambda表达式和std::function的体验代码
- 有效使用 Lambda 表达式和 std::function
- C++11中的std::function,Lambda表达式
- C++11 笔记 std::function,bind绑定器和lambda
- C++11 在析构函数中执行lambda表达式(std::function)捕获this指针的陷阱
- C++11 中std::function和std::bind的用法
- C++11 中std::function和std::bind的用法
- C++11 std::function用法(对cocos2d-x 3.2 中lambda的部分认识)
- 一段简单而又费解的关于std::async和时间的代码
- lambda, std::function, std::bind
- 【C++】C++11特性:lambda和function
- 仿函数function和lambda表达式的使用以及cocos2dx中CREATE_FUN()的原理
- C++11中std::function的使用
- 和Lambda表达式相关的Consumer、Function、Predicate 与 Supplier
- 关于boost中lambda表达式的学习
- 关于+—~有意思的一段C代码
- Java8,Function函数式接口与Lambda表达式初体验
- std::function和std::bind的使用?
- Hadoop 參數設定 – hdfs-site.xml
- Hadoop 參數設定 – mapred-site.xml
- MD5算法简介
- redis的java版访问
- arm-linux-gcc/ld/objcopy/objdump使用总结
- 一段关于c++11中lambda表达式和std::function的体验代码
- BCM 芯片SDK初始化
- C++ 虚函数表解析
- [Android官方API阅读]___<Application Fundamentals>
- Serializable序列化(一)
- Binary Tree Zigzag Level Order Traversal
- SpringMVC源码剖析(二)- DispatcherServlet的前世今生
- 最大公约数的一些定理
- SSE指令学习笔记