cpp中如何向vector中写入元素,不知道vector数组的大小
时间: 2024-10-16 16:13:36 浏览: 18
C++一维数组二维数组写入txt,从txt中读取数据存到一维数组二维数组
5星 · 资源好评率100%
在C++中,如果你不确定`vector`的具体大小,可以使用以下几种方法向其中添加元素:
1. **push_back()**:这是最常见的向`vector`中添加元素的方式,它会在容器的末尾自动分配空间并添加新元素。例如:
```cpp
std::vector<int> vec; // 创建空vector
vec.push_back(10); // 向末尾添加元素10
```
2. **resize()**:你可以先调用`resize()`函数设置容器的大小,然后添加元素。如果指定的大小大于当前容量,`vector`会自动扩容;如果指定的大小小于当前容量,则删除多余的元素。示例:
```cpp
vec.resize(5); // 设置大小为5
vec[0] = 11; // 写入元素到第一个位置
```
3. **动态添加**:不需要预设大小,可以直接通过索引添加元素,但这可能导致效率较低,因为每次添加都需要移动后面的元素。除非你知道将来的增长趋势。
```cpp
vec.reserve(10); // 预估可能需要的空间
vec[vec.size()] = 12; // 直接写入末尾
```
记住,在实际操作之前,最好先检查`size()`或`capacity()`来避免频繁的内存调整。
阅读全文