C++11后引入emplace_back函数
-
emplace_back原理:在容器尾部添加一个元素,元素原地构造,不需要拷贝构造和转移构造。
-
push_back原理:首先调用构造函数创造对应插入值的临时对象,然后调用拷贝构造函数将这个临时变量放入容器中,原来的临时变量释放。
使用emplace_back函数能减少创建临时变量及拷贝所需资源的浪费。
emplace系列函数:
emplace() 效果相当于 insert()
emplace_back()相当于 push_back()
emplace_fornt() 相当于 push_front()