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