c++中vector扩容
时间: 2023-12-12 15:35:47 浏览: 95
C语言下的vector
4星 · 用户满意度95%
在C++中,vector是一种非常常用的容器,它可以自动扩容以容纳更多的元素。当vector中的元素数量超过其当前容量时,vector会自动分配更多的内存来容纳更多的元素。vector的扩容过程可以通过以下步骤来实现:
1. 当vector中的元素数量超过其当前容量时,vector会分配一个新的内存块来存储更多的元素。
2. 然后,vector会将当前元素的值复制到新的内存块中。
3. 最后,vector会释放旧的内存块,并将指向旧内存块的指针更新为指向新的内存块。
以下是一个简单的示例,演示了如何使用vector来添加元素并自动扩容:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
// 添加元素
for (int i = 0; i < 10; i++) {
vec.push_back(i);
std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;
}
return 0;
}
```
在上面的示例中,我们创建了一个空的vector,并使用push_back()函数向其中添加了10个元素。每次添加元素时,我们都打印出vector的大小和容量。由于vector会自动扩容,因此我们可以看到容量随着元素数量的增加而增加。
阅读全文