c++ vector capacity()
时间: 2023-07-01 11:13:32 浏览: 125
在C++中,vector容器类提供了capacity()成员函数,用于返回vector对象的容量,即在重新分配存储空间之前vector可以容纳的元素数量。当然,实际元素数量可能小于等于容量。
capacity()函数的返回值类型为size_t,表示无符号整数类型。下面是一个示例代码:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVec;
std::cout << "Initial capacity: " << myVec.capacity() << std::endl;
for (int i = 0; i < 10; i++) {
myVec.push_back(i);
std::cout << "Capacity after inserting " << i << ": " << myVec.capacity() << std::endl;
}
return 0;
}
```
这个程序创建了一个空的vector对象,然后通过push_back()函数向其中添加元素。在每次添加元素之后,程序都会调用capacity()函数来显示vector的容量。输出结果如下:
```
Initial capacity: 0
Capacity after inserting 0: 1
Capacity after inserting 1: 2
Capacity after inserting 2: 4
Capacity after inserting 3: 4
Capacity after inserting 4: 8
Capacity after inserting 5: 8
Capacity after inserting 6: 8
Capacity after inserting 7: 8
Capacity after inserting 8: 16
Capacity after inserting 9: 16
```
我们可以看到,当vector中的元素数量达到当前容量时,vector会重新分配内存并增加容量。在上面的示例中,vector的容量以2的幂次递增,这是vector的一种常见策略。
阅读全文