我个人是把lambda当成一个常规情况下只读(不用mutable修饰的情况下)、同时提供了()运算符的对象来看待的
只不过这个对象不需要事先用class这样的类来规定里面的member,而是编译器根据capture列表,自行确定里面该放啥
实际上我感觉它可能就是一个提供了()运算符,同时内部有一个类似std::tuple的东西,capture的东西放在这个tuple里面,然后玩了点花样,让tuple里面的东西用和被capture的时候同样的名字被放问
【 在 ziqin 的大作中提到: 】
: template<class T>
: void f(T&& a)
: {
: ...................
--
FROM 113.120.108.*