# std::vector<T,Allocator>::capacity

< cpp‎ | container‎ | vector

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

### 参阅

size | 返回容纳的元素数 (公开成员函数)
reserve | 预留存储空间 (公开成员函数)