✨博客主页 | ||
---|---|---|
何曾参静谧的博客 | ||
📌文章专栏 | ||
「C/C++」C/C++程序设计 | ||
📚全部专栏 | ||
「VS」Visual Studio | 「C/C++」C/C++程序设计 | 「UG/NX」BlockUI集合 |
「Win」Windows程序设计 | 「DSA」数据结构与算法 | 「UG/NX」NX二次开发 |
「QT」QT5程序设计 | 「File」数据文件格式 | 「PK」Parasolid函数说明 |
目录
-
- push_back 和 emplace_back 的区别
-
- push_back 的工作原理
- emplace_back 的工作原理
- 主要区别
push_back 和 emplace_back 的区别
在C++标准库中,push_back
和emplace_back
是两个常用的成员函数,用于在容器的末尾插入新元素。尽管它们的功能相似,但在实现和使用上有一些显著的区别。
push_back 的工作原理
push_back
函数是C++标准库中容器类(如vector
、deque
等)的成员函数,用于在容器的尾部添加一个元素。当使用push_back
时,会先调用类的有参构造函数创建一个临时变量,然后将这个临时变量拷贝或移动到容器中。这意味着,如果插入的是一个对象,那么会先构造这个对象,然后再将其复制或移动到容器的末尾。
例如,假设有一个Person
类,并且我们想要将一个Person
对象添加到vector<Person>
中: