std::vector<T,Allocator>::capacity - cppreference.com (original) (raw)

| size_type capacity() const; | | (noexcept since C++11)(constexpr since C++20) | | ---------------------------- | | --------------------------------------------- |

Returns the number of elements that the container has currently allocated space for.

[edit] Parameters

(none)

[edit] Return value

Capacity of the currently allocated storage.

[edit] Complexity

Constant.

[edit] Example

#include #include #include   int main() { int sz = 100; std::vector v;   auto cap = v.capacity(); std::cout << "Initial size: " << v.size() << ", capacity: " << cap << '\n';   std::cout << "\nDemonstrate the capacity's growth policy." "\nSize: Capacity: Ratio:\n" << std::left; while (sz-- > 0) { v.push_back(sz); if (cap != v.capacity()) { std::cout << std::setw( 7) << v.size() << std::setw(11) << v.capacity() << std::setw(10) << v.capacity() / static_cast(cap) << '\n'; cap = v.capacity(); } }   std::cout << "\nFinal size: " << v.size() << ", capacity: " << v.capacity() << '\n'; }

Possible output:

Initial size: 0, capacity: 0   Demonstrate the capacity's growth policy. Size: Capacity: Ratio: 1 1 inf 2 2 2 3 4 2 5 8 2 9 16 2 17 32 2 33 64 2 65 128 2   Final size: 100, capacity: 128

[edit] See also

| | returns the number of elements (public member function) [edit] | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | reserves storage (public member function) [edit] |