请解释 C++ 中 emplace_back 与 push_back 的区别,并说明使用 emplace_back 时要注意什么。
考察说明
考察对 C++ 容器插入操作与移动/转发语义的理解
回答思路
- 说明 emplace_back 直接就地构造对象,避免临时对象
- 说明 push_back 需要传入已构造对象,可能发生拷贝或移动
- 指出 emplace_back 在参数不匹配或无意义时可能性能相当或更差
- 说明 emplace_back 与显式构造函数、隐式转换的潜在风险
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。