不要盲目地优先使用emplace_back而不是push_back

2024-07-28

文章分析了C++中emplace_back和push_back的区别,指出 emplace_back 并非总是优于 push_back。emplace_back 适用于需要就地构造对象的情况,例如处理不可移动类型或移动构造函数开销大的类型。但对于一般情况,push_back 性能更好,因为它不需要进行模板类型推导和实例化,编译速度更快。文章建议默认使用 push_back,仅在必要时使用 emplace_back。