本文主要是介绍vector中push_back()和emplace_back()的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
emplace_back() 和 push_back() 的区别,就在于底层实现的机制不同。
- push_back() 向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝(调用拷贝构造函数)或者移动(调用移动构造函数)到容器中(如果是拷贝的话,事后会自行销毁先前创建的这个元素)。
- 而 emplace_back() 在实现时,则是直接在容器尾部创建这个元素,省去了拷贝或移动元素的过程。
这篇关于vector中push_back()和emplace_back()的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!