Пространства имён
Варианты
Действия

std::basic_string<CharT,Traits,Allocator>::capacity

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-элементы
Доступ к элементам
Итераторы
Ёмкость
basic_string::capacity
Операции
Поиск
Константы
Правила вывода(C++17)
Функции, не являющиеся элементами
Ввод/Вывод
Сравнение
(до C++20)(до C++20)(до C++20)(до C++20)(до C++20)(C++20)
Числовые преобразования
(C++11)(C++11)(C++11)
(C++11)(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Вспомогательные классы
 
size_type capacity()const;
(до C++11)
size_type capacity()constnoexcept;
(начиная с C++11)
(до C++20)
constexpr size_type capacity()constnoexcept;
(начиная с C++20)

Возвращает количество символов, для которых в данный момент выделено место в строке.

Содержание

[править]Параметры

(нет)

[править]Возвращаемое значение

Ёмкость выделенного в данный момент хранилища, т.е. хранилища, доступного для хранения элементов.

[править]Сложность

Константная.

[править]Примечание

Ячейки памяти, полученные от аллокатора, но недоступные для хранения какого-либо элемента, не учитываются в выделенном хранилище. Обратите внимание, что нулевой терминатор не является элементом std::basic_string.

[править]Пример

#include <iomanip>#include <iostream>#include <string>   void show_capacity(std::stringconst& s){std::cout<<std::quoted(s)<<" имеет ёмкость "<< s.capacity()<<".\n";}   int main(){std::string s{"Exemplar"}; show_capacity(s);   s +=" это пример строки."; show_capacity(s);   s.clear(); show_capacity(s);   std::cout<<"\nДемонстрирует политику роста ёмкости.""\nРазмер: Ёмкость: Коэффициент:\n"<<std::left;   std::string g;auto old_cap{g.capacity()};   for(int mark{}; mark !=5;++mark){while(old_cap == g.capacity()) g.push_back('.');   std::cout<<std::setw(9)<< g.size()<<std::setw(10)<< g.capacity()<<std::setw(12)<< g.capacity()/static_cast<float>(old_cap)<<'\n';   old_cap = g.capacity();}}

Возможный вывод:

"Exemplar" имеет ёмкость 15. "Exemplar это пример строки." имеет ёмкость 30. "" имеет ёмкость 30.   Демонстрирует политику роста ёмкости. Размер: Ёмкость: Коэффициент: 16 30 2 31 60 2 61 120 2 121 240 2 241 480 2

[править]Смотрите также

возвращает количество символов
(public функция-элемент)[править]
резервирует память
(public функция-элемент)[править]
close