面试真题

C++ · 中等 · 阿里巴巴

auto,auto&,auto&& 的作用和区别

中等 C++ 🎤 阿里巴巴
参考答案
结论:auto按值类型推导,auto&为左值引用,auto&&为转发引用(万能引用);核心要点:1.auto声明变量拷贝初始化,忽略顶层const和引用;2.auto&必须绑定左值,可修改原对象且零拷贝;3.auto&&依初始化值类型推导:绑左值成左值引用,绑右值成右值引用,常用于模板完美转发;示例:int x=1; auto a=x(拷贝);auto& b=x(别名);auto&& c=2(绑临时);区别:拷贝开销、能否修改原值、引用折叠规则不同。
题目整理自公开面经,答案由校招宝自研生成,仅供参考