面试真题

C++ · 中等 · 腾讯

lambda和bind的区别

中等 C++ 🎤 腾讯
参考答案
结论:lambda更现代、可读且易优化,bind用于旧式参数绑定。核心差异:1. 写法:lambda直接写代码块,bind需用std::placeholders重排;2. 捕获:lambda可显式捕获局部变量,bind需传参或mem_fn;3. 性能:lambda易被内联,bind因运行时绑定常阻碍优化;4. 功能:bind可调整参数顺序、绑定成员函数,lambda需配合显式包装。示例:auto f=bind(foo,_2,_1); auto g=[](auto a,auto b){return foo(b,a);}; 推荐优先lambda,bind仅兼容旧代码。
题目整理自公开面经,答案由校招宝自研生成,仅供参考