程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++0x 學習筆記之 Function template bind

c++0x 學習筆記之 Function template bind

編輯:C++入門知識

std::bind 定義在

1 #include <functional>

 

有兩種聲明,為

1 2 template<class F, class... BoundArgs> unspecified bind(F&& f, BoundArgs&&... bound_args);

1 2 template<class R, class F, class... BoundArgs> unspecified bind(F&& f, BoundArgs&&... bound_args);

其中的 … 是 c++0x 引入的 variadic template

 

std::bind 最基本的使用如

1 2 3 4 5 int f(int a, int b) {     return a + b; } std::bind(f, 1, 2 );

配合 std::placeholders 則可以產生一些函數對象,比如配合 auto 使用:

1 2 3 4 5 6 int g(int a, int b, int c) {     return a + b + c; }    auto gg = std::bind( g, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3);

 

注意一下使用方法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <functional>    int f(int a, int b) {     return a + b;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved