临沧建设局网站,河南建设政务网,网站打开慢什么原因呢,网站规划的原则是什么通过使用std::function#xff0c;可以将不同类型的可调用对象封装成统一的格式#xff0c;从而使用相同的接口进行调用#xff1b;在设计回掉函数、事件处理 、函数对象等场景中十分有用。 ① 封装函数指针 ② 封装lambda ③ 封装成员函数等 1. 包含头文件 #includefun… 通过使用std::function可以将不同类型的可调用对象封装成统一的格式从而使用相同的接口进行调用在设计回掉函数、事件处理 、函数对象等场景中十分有用。 ① 封装函数指针 ② 封装lambda ③ 封装成员函数等 1. 包含头文件 #includefunctional 2. 声明一个对象返回类型(参数类型) std::functionint(int) myfunc; 3. 封装不同内容 3.1 封装函数指针 int func1(int x) return x * 2; std::functionint(int) myfunc func1; 封装函数指针 int result myfunc(2) 调用封装的函数指针 3.2 封装lambda表达式 std::function myfunc [ ](int x ) {return x * 2}; int result myfunc(5); 3.3 封装成员函数 class A { public: int a_func(int x) {return x * 2} }; A a; std::functionint(A*, int) myfunc A::a_func; int result myfunc(5); 4. 作为函数参数 void do_something(std::functionint(int) myfunc) { int result myfunc(5); } int func1(int x) {return x * 2}; do_something(func1)