参考答案
结论:lambda底层被编译器翻译成重载operator()的匿名闭包类。核心要点:1. 编译器为每个lambda生成唯一类,捕获变量成为该类成员变量;2. 按值捕获通过拷贝构造存入,按引用捕获存引用;3. 无捕获lambda可隐式转换为函数指针;4. 闭包类默认删除默认构造和赋值,仅能拷贝/移动。示例:[x](int y){return x+y;} 被译为 struct { int x; int operator()(int y) const { return x+y; } }; 调用时构造对象并传参。该机制使lambda零开销抽象,内联优化友好。