您的位置 首页 > 德语词汇

pushback是什么意思?用法、例句,C++ 中 push_back 和 emplace_back 的区别

大家好,感谢邀请,今天来为大家分享一下pushback是什么意思?用法、例句的问题,以及和C++ 中 push_back 和 emplace_back 的区别的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

1、C++中,使用push_back()函数和emplace_back()函数都可以用来给容器添加元素。

pushback是什么意思?用法、例句,C++ 中 push_back 和 emplace_back 的区别

2、其中,emplace_back()函数是C++11新增加的,其功能和push_back()相同,都是在容器尾部添加一个元素。

3、事实上,emplace_back()和push_back()在底层实现机制上是不同的。

4、从上图可以看出,push_back比emplace_back多了一步移动构造。若将移动构造函数注释掉,则结果为:

5、这时push_back比emplace_back多了一步拷贝构造。由此可以看出,push_back()在底层实现时,会优先选择调用移动构造函数,如果没有才会调用拷贝构造函数。

6、从上面可以看出,push_back()的底层实现过程比emplace_back()更繁琐,换句话说,emplace_back()的执行效率要比push_back()高

7、因此,在实际工作中,应优先使用emplace_back()函数

OK,本文到此结束,希望对大家有所帮助。

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023