Метод capacity
Метод capacity возвращает текущую вместимость строки,
то есть то количество символов, которое строка может
хранить в уже выделенной памяти без дополнительного
перевыделения. Сама строка при этом не изменяется.
Метод не принимает параметров и возвращает значение
типа size_t. Вместимость всегда больше или равна
длине строки, которую возвращает метод size
или length.
Синтаксис
str.capacity()
Пример
Давайте создадим строку "abcde" и выведем её длину
и вместимость:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
cout << "length: " << str.length() << endl;
cout << "capacity: " << str.capacity() << endl;
return 0;
}
Результат выполнения кода:
"length: 5"
"capacity: 15"
Пример
Давайте добавим символы в строку и посмотрим, как изменится её вместимость:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
cout << "capacity before: " << str.capacity() << endl;
str += "fghijklmnop";
cout << "length after: " << str.length() << endl;
cout << "capacity after: " << str.capacity() << endl;
return 0;
}
Результат выполнения кода:
"capacity before: 15"
"length after: 18"
"capacity after: 30"
Пример
Давайте сравним длину и вместимость пустой строки:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "";
cout << "length: " << str.length() << endl;
cout << "capacity: " << str.capacity() << endl;
return 0;
}
Результат выполнения кода:
"length: 0"
"capacity: 15"
Смотрите также
-
метод
size,
который возвращает длину строки -
метод
reserve,
который резервирует память для строки -
метод
shrink_to_fit,
который уменьшает вместимость до длины строки -
метод
resize,
который изменяет размер строки