push ,push back
时间: 2023-08-26 15:04:17 浏览: 53
在C++中,push_back()和emplace_back()都是用于向容器中添加元素的函数。它们的区别在于参数的传递方式和构造对象的方式。
push_back()函数接受一个已经构造好的对象作为参数,并将其拷贝到容器中。在引用\[1\]的代码示例中,通过push_back()函数将对象a添加到了vector容器v1中。当使用push_back()函数时,会调用对象的拷贝构造函数来创建一个新的对象,并将其添加到容器中。
而emplace_back()函数则接受构造对象所需的参数,并在容器中直接构造对象。在引用\[1\]的代码示例中,通过emplace_back()函数将参数2传递给A类的构造函数,直接在容器v11中构造了一个新的对象。这样可以避免了拷贝构造的过程,提高了效率。
总结来说,push_back()函数需要传递一个已经构造好的对象作为参数,而emplace_back()函数可以直接传递构造对象所需的参数,从而在容器中直接构造对象。\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [push_back和emplace_back区别](https://blog.csdn.net/bureau123/article/details/123417471)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]