std::hive<T,Allocator>::capacity
ja.cppreference.net より
size_type capacity() const noexcept;
|
||
このハイブが、さらなる要素ブロックの再割り当てを必要とせずに保持できる要素の数を返します。
戻り値
現在割り当てられているストレージの容量。
計算量
定数時間。
例
このコードを実行
#include <iomanip>
#include <iostream>
#include <hive>
int main()
{
int sz = 1000;
std::hive<int> 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.insert(sz);
if (cap != v.capacity())
{
std::cout << std::setw( 7) << v.size()
<< std::setw(11) << v.capacity()
<< std::setw(10) << v.capacity() / static_cast<float>(cap) << '\n';
cap = v.capacity();
}
}
std::cout << "\nFinal size: " << v.size() << ", capacity: " << v.capacity() << '\n';
}
出力例:
Initial size: 0, capacity: 0
Demonstrate the capacity's growth policy.
Size: Capacity: Ratio:
1 76 inf
77 152 2
153 304 2
305 559 1.83882
560 814 1.45617
815 1069 1.31327
Final size: 1000, capacity: 1069
関連項目
| 要素数を返します (パブリックメンバ関数) | |
| ストレージを予約します (パブリックメンバ関数) |