C++11:function的使用
阿新 • • 發佈:2018-12-19
#include <iostream> #include <functional> //1、普通函式 void func() { std::cout << __func__ << std::endl; } //2、類中的靜態函式 class Test { public: static int test_func(int a) { std::cout << __func__ << "(" << a << ") -> "; return a; } }; //3、類中的仿函式 class MyFunctor { public: int operator () (int a) { std::cout << __func__ << "(" << a << ") ->"; return a; } }; int main() { //1、繫結普通函式 std::function<void()> f1 = func; f1(); //2、繫結類中的靜態函式 std::function<int(int)> f2 = Test::test_func; std::cout << f2(10) << std::endl; //3、繫結類中的仿函式,繫結物件,仿函式呼叫obj() MyFunctor obj; std::function<int(int)> f3 = obj; std::cout << f3(20) << std::endl; system("pause"); return 0; }