在 C++ 中,push_back
是用于在容器的末尾添加一个元素的成员函数。这个函数通常用于向动态数组(比如 std::vector
)或类似的容器中添加新的元素。
语法:
void push_back(const T& value);
value
:要添加到容器末尾的元素。
示例:
#include <iostream>
#include <vector>
int main() {
// 创建一个空的 vector
std::vector<int> myVector;
// 使用 push_back 添加元素
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
// 打印 vector 中的元素
for (int i : myVector) {
std::cout << i << " ";
}
return 0;
}
在上述示例中,push_back
被用于向 std::vector
中添加整数元素。myVector
最初是一个空的 vector,通过三次调用 push_back
,分别将元素 1、2 和 3 添加到了 vector 的末尾。最后,通过循环遍历并输出 vector 的元素。
注意事项:
- 动态扩展:
push_back
不仅添加元素,还会根据需要动态扩展容器的大小,确保足够的空间来存储新的元素。 - 对于不同容器:虽然
push_back
是std::vector
的成员函数,但类似的函数也存在于其他容器,如std::list
、std::deque
等。 - 引用和移动语义:C++11 引入了右值引用和移动语义,对于大对象的添加,可以使用
std::move
来减少拷贝操作。
#include <iostream>
#include <vector>
int main() {
std::vector<std::string> myVector;
std::string str1 = "Hello";
std::string str2 = "World";
// 使用移动语义
myVector.push_back(std::move(str1));
myVector.push_back(std::move(str2));
// 此时 str1 和 str2 的状态不确定,可能为空,不要再使用它们
return 0;
}
在上述示例中,std::move
用于将字符串的所有权从 str1
和 str2
转移到 vector 中。这可以提高性能,因为避免了不必要的拷贝操作。
标签:std,myVector,元素,back,C++,vector,push From: https://www.cnblogs.com/keye/p/17901694.html