[C++] push_back vs emplace_back_unnecessary temporary object created while calling-CSDN博客

网站介绍:文章浏览阅读120次。push_back vs emplace_back总结:push_back分为两步:先创建一个临时的构造器,然后将这个临时构造器移动或者拷贝到目标容器中。emplace_back仅有一步:直接在目标容器的目标位置,原地创建构造器即可,无需移动或者拷贝操作。关键观点:函数void emplace_back(Type&& _Val)完全等价于push_back(Type&& _Val),没有意义,因为是多余的。函数void emplace_back(Args&&a_unnecessary temporary object created while calling emplace_back