capacity
Składnia:
#include <string> size_type capacity() const;
Funkcja capacity() zwraca liczbę elementów, które string może przechowywać zanim zajdzie potrzeba alokacji dodatkowej pamięci. Przykładowo, poniższy kod używa dwóch różnych metod do ustawienia pojemności dwóch wektorów. Pierwszą metodą jest przekazanie argumentu do konstruktora, który poinformuje o potrzebnym rozmiarze. Drugą metodą jest wywołanie funkcji reserve:
vector<int> v1(10); cout << "Pojemnosc v1 wynosi " << v1.capacity() << endl; vector<int> v2; v2.reserve(20); cout << "Pojemnosc v2 wynosi " << v2.capacity() << endl;
Po uruchomieniu powyższy kod wyświetli:
Pojemnosc v1 wynosi 10 Pojemnosc v2 wynosi 20
Kontenery C++ są zaprojektowane do zwiększania swojego rozmiaru dynamicznie. Dzięki temu nie musimy martwić się o dodatkowe przechowywanie liczby elementów w kontenerze. Jednakże, czasami można zwiększyć wydajność programu poprzez danie kompilatorowi wskazówek odnośnie rozmiaru kontenerów, których program będzie używał. Te wskazówki, mające na celu sprecyzować przewidywany rozmiar kontenerów, dajemy za pomocą funkcji reserve oraz konstruktora użytego w powyższym przykładzie. Funkcja capacity() ma stałą złożoność czasową.