reference_closure クラスは、参照環境を持つラムダ式と合わせて使用する
たぶんこんな感じで使用する…はず
#include <iostream> #include <functional> // reference_closure using namespace std; reference_closure<int(int)> foo() { int count = 3; return [&](int x){ return x + (++count); }; } int main() { int value = foo()(2); cout << value << endl; // 6 return 0; }
reference_closure なんて作るより function をいじってくれーと思いますけどね
N2550 Lambda Expressions and Closures: Wording for Monomorphic Lambdas (Revision 4)