capacity
提供:cppreference.com
Syntax:
#include <string> size_type capacity() const;
capacity()関数は、容量を拡張せずに文字列を保持できる要素数を返します。 たとえば、次のコードは2つのベクトルの容量を設定する2つの異なる方法を使用します。 1つは、コンストラクタに引数を渡し、その値が初期サイズとして使われています、もう一つは、reserve()を呼び出しています。
vector<int> v1(10); cout << "The capacity of v1 is " << v1.capacity() << endl; vector<int> v2; v2.reserve(20); cout << "The capacity of v2 is " << v2.capacity() << endl;
実行時に、上記のコードは、次の出力を生成します。
The capacity of v1 is 10 The capacity of v2 is 20
C++ コンテナは、動的にサイズが拡張するように設計されます。 これは、プログラマがコンテナ内の任意の要素番号に格納する方法について心配することから、解放されます。 けれども、場合によっては、プログラマは、プログラムで使用するコンテナのサイズについて、コンパイラにヒントを与えることによってプログラムのパフォーマンスを向上させることができます。 ヒントは、例のように reserve()関数、コンストラクタの引数によって与えられます。コンテナサイズが大きくなることがわかる場合は、コンパイラに通知してください。
capacity()関数は、定数時間で処理されます。