#include <functional>#include <iostream>struct Foo {
Foo(int num) : num_(num) {}
void print_add(int i) const { std::cout << num_+i << '\n'; }int num_;
};void print_num(int i){std::cout << i << '\n';}struct PrintNum {
void operator()(int i) const{std::cout << i << '\n';}};int main()
{// store a free function
std::function<void(int)> f_display = print_num;f_display(-9);// store a lambda
std::function<void()> f_display_42 = []() { print_num(42); };
f_display_42();// store the result of a call to std::bind
std::function<void()> f_display_31337 = std::bind(print_num, 31337);
f_display_31337();// store a call to a member function
std::function<void(const Foo&, int)> f_add_display = &Foo::print_add;const Foo foo(314159);
f_add_display(foo, 1);// store a call to a member function and object
using std::placeholders::_1;
std::function<void(int)> f_add_display2= std::bind( &Foo::print_add, foo, _1 );f_add_display2(2);// store a call to a function object
std::function<void(int)> f_display_obj = PrintNum();f_display_obj(18);}
C++ 11: function & bind 使用示例
相關文章
- C++11 std::bind std::function 高階用法C++Function
- 深究Function.prototype.bindFunction
- C++ 11 - STL - 函式物件(Function Object) (下)C++函式物件FunctionObject
- 理解 JavaScript 中的 Function.prototype.bindJavaScriptFunction
- 理解JavaScript中的Function.prototype.bindJavaScriptFunction
- C++ 11 中正規表示式使用示例及原始碼分析C++原始碼
- boost bind及function的簡單實現Function
- C++ function pointersC++Function
- Function.prototype.bind()方法用法簡單介紹Function
- 構建oracle function的小示例OracleFunction
- c++11:std::bindC++
- c++ 11 執行緒池---完全使用c++ 11新特性C++執行緒
- drools中使用functionFunction
- C++ 中檔案流(fstream)的使用方法及示例C++
- C++中的虛擬函式(virtual function)C++函式Function
- oracle11中的char_functionOracleFunction
- C++回撥函式示例C++函式
- C++11 標準庫 bind 函式C++函式
- C++常用字串處理函式及使用示例(轉)C++字串函式
- JSON for Modern C++ 庫的介紹與使用示例程式碼JSONC++
- Oracle基礎之function使用OracleFunction
- javascript 中function(){},new function(),new Function(),Function 摘錄JavaScriptFunction
- 【C++基礎】純虛擬函式 - pure virtual functionC++函式Function
- 為什麼 BIND 10 要用 C++ 和 Python 來寫C++Python
- GPUImageRawDataInput 使用示例GPUUIAI
- JMeter使用示例JMeter
- Tcpdump使用示例TCP
- rsync 使用示例
- javaJedis使用示例Java
- mfc 讀寫 excel 示例 C++ libxlExcelC++
- 通過c++示例解釋回撥C++
- [20191111]完善bind_cap.sql指令碼.txtSQL指令碼
- cmake使用教程(八)-macro和functionMacFunction
- javascript Function()使用程式碼例項JavaScriptFunction
- react建立的元件中bind的使用React元件
- 物件導向程式設計風格 VS 基於物件程式設計風格(boost::bind/function)物件程式設計Function
- dataview 元件使用示例View元件
- 索引器使用示例索引