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