vector pushback 语法
时间: 2025-06-28 09:15:54 浏览: 13
### C++ `vector::push_back` 方法语法说明
`push_back()` 是标准模板库(STL)中的一个重要成员函数,用于在 `std::vector` 容器的末尾添加一个新的元素。该操作会增加容器的大小并可能触发重新分配内存以适应新的容量。
#### 语法定义
对于任意类型的 `T` 和已声明为 `std::vector<T>` 的变量名 `vec`,可以使用如下方式调用此方法:
```cpp
void vec.push_back(const T& value);
void vec.push_back(T&& value); // 移动语义版本
```
这里有两个重载形式:一个是接受常量左值引用参数的形式;另一个则是右值引用,允许通过移动而非复制来提高性能[^1]。
#### 使用示例
下面展示了一个简单的例子,演示如何利用 `push_back()` 向整数型向量中追加数据项:
```cpp
#include <iostream>
#include <vector>
int main(){
std::vector<int> numbers;
numbers.push_back(10); // 添加单个数值
for(auto num : numbers){
std::cout << num << "\n";
}
}
```
当涉及到复杂的数据结构如自定义类时,则可以通过传递实例化后的对象给 `push_back()` 来实现插入动作。例如,在处理包含姓名和年龄属性的人类实体集合时可这样做[^2]:
```cpp
struct Person {
std::string name;
int age;
Person(std::string n, int a):name(n),age(a){}
};
//...
std::vector<Person> people;
people.push_back(Person("Alice", 30));
```
值得注意的是,如果目标类型支持高效的原地构建机制——即所谓的完美转发特性,那么应该优先考虑采用 `emplace_back()` 而不是 `push_back()` ,因为这能减少不必要的中间对象创建过程从而优化程序执行效率[^3].
阅读全文
相关推荐








