std::vector<T,Allocator>::capacity
size_type capacity() const; |
(C++11 前) | |
size_type capacity() const noexcept; |
(C++11 起) (C++20 前) |
|
constexpr size_type capacity() const noexcept; |
(C++20 起) | |
返回容器当前已为之分配空间的元素数。
参数
(无)
返回值
当前分配存储的容量。
复杂度
常数。
示例
运行此代码
#include <iostream> #include <vector> int main() { int sz = 200; std::vector<int> v1; auto cap = v1.capacity(); std::cout << "initial capacity=" << cap << '\n'; for (int n = 0; n < sz; ++n) { v1.push_back(n); if (cap != v1.capacity()) { cap = v1.capacity(); std::cout << "new capacity=" << cap << '\n'; } } std::cout << "final size=" << v1.size() << '\n'; std::cout << "final capacity=" << v1.capacity() << '\n'; }
可能的输出:
initial capacity=0 new capacity=1 new capacity=2 new capacity=4 new capacity=8 new capacity=16 new capacity=32 new capacity=64 new capacity=128 new capacity=256 final size=200 final capacity=256
参阅
返回容纳的元素数 (公开成员函数) | |
预留存储空间 (公开成员函数) |