目录 C++ 的Lambda表达式 C++ 11 标准发布,各大编译器都开始支持里面的各种新特性,其中一项比较有意思的就是lambda表达式。 语法规则 C++ 11 Lambda表达式的四种声明方式 \[ capture \]( params ) mutable(optional) exception attribute -> ret { body } \[ capture \]( params ) -> ret { body } \[ capture \]( params…

用过std和boost的function对象和bind函数的童鞋们都知道这玩意用起来腰不酸了,腿不疼了,心情也舒畅了。先上一个简单得示例: std::string str; std::function func = std::bind(&std::string::at, &str); bool is_empty = func(); 但是这是怎么做到的呢?看完源码以后,你会发现这里面有着一些很巧妙的设计。

绑定函数是我认为C++新标准里第二有用的库了 绑定库的使用环境是: GCC-C++ 4.3 及以上 Visual Studio 2008 SP1 及以上 BOOST 1.25及以上(其中function是1.16及以上) 先来看一段代码 #include #include #include #include class button { public: std::function onClick; }; class player { public: void…