Перевод этой страницы?:

capacity

Синтаксис:

    #include <string>
    size_type capacity() const;

Функция capacity() возвращает количество элементов, которые может содержать строка, до того как ей понадобится выделить дополнительную память. Например, следующий код использует два различных метода, чтобы задать емкость двум векторам. Один метод передает аргумент в конструктор, чтобы задать начальный размер, а другой метод использует функцию 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() выполняется за константное временя.

Смотрите также: reserve, resize, size