std::vector<T,Allocator>::capacity
来自cppreference.com
<tbody>
</tbody>
size_type capacity() const; |
(C++11 起为 noexcept) (C++20 起为 constexpr) |
|
返回容器当前已为之分配空间的元素数。
参数
(无)
返回值
当前分配存储的容量。
复杂度
常数。
示例
运行此代码
#include <iomanip>
#include <iostream>
#include <vector>
int main()
{
int sz = 100;
std::vector<int> v;
auto cap = v.capacity();
std::cout << "初始大小: " << v.size() << ", 容量: " << cap << '\n';
std::cout << "\n演示容量增长策略。"
"\n大小: 容量: 比率:\n" << std::left;
while (sz-- > 0)
{
v.push_back(sz);
if (cap != v.capacity())
{
std::cout << std::setw(7) << v.size()
<< std::setw(7) << v.capacity()
<< std::setw(10) << v.capacity() / static_cast<float>(cap) << '\n';
cap = v.capacity();
}
}
std::cout << "\n最终大小: " << v.size() << ", 容量: " << v.capacity() << '\n';
}
可能的输出:
初始大小: 0, 容量: 0
演示容量增长策略。
大小: 容量: 比率:
1 1 inf
2 2 2
3 4 2
5 8 2
9 16 2
17 32 2
33 64 2
65 128 2
最终大小: 100, 容量: 128
参阅
| 返回元素数 (公开成员函数) | |
| 预留存储空间 (公开成员函数) |