C++中关于委派(Delegates)的实现示例

2020-01-06 13:19:38于丽
  • {  i+=a1+a2+a3+a4; 
  • k = i;  } 
  •   auto f8 (int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) const ->int 
  • {  return i+a1+a2+a3+a4+a5+a6+a7+a8; 
  • }    
  • static auto sqr(double x)->double { return x*x; }  }; 

    请注意你并不需要一定使用 C++ 的 auto 函数语法,你也可以使用传统的方法,然后我们使用下面方法创建一个类:

     

     
    1. A a(11); 

    接下来我们创建委派:

     

     
    1. auto set1 = create_delegate(&a,&A::set);  auto inc = create_delegate(&a,&A::inc); 
    2. std::function<int(int&)> incp = create_delegate(&a,&A::incp);  auto af5 = create_delegate(&a,&A::f5);