string size grows
#include <string>
#include <iostream>
using namespace std;
int main( ) {
string s = "";
string sr = "";
sr.reserve(9);
cout << "s.length = " << s.length( ) << '\n';
cout << "s.capacity = " << s.capacity( ) << '\n';
cout << "s.max_size = " << s.max_size( ) << '\n';
cout << "sr.length = " << sr.length( ) << '\n';
cout << "sr.capacity = " << sr.capacity( ) << '\n';
cout << "sr.max_size = " << sr.max_size( ) << '\n';
for (int i = 0; i < 20; ++i) {
if (s.length( ) == s.capacity( )) {
cout << "s reached capacity of " << s.length( )
<< ", growing...\n";
}
if (sr.length( ) == sr.capacity( )) {
cout << "sr reached capacity of " << sr.length( )
<< ", growing...\n";
}
s += 'x';
sr += 'x';
}
}
/*
s.length = 0
s.capacity = 0
s.max_size = 1073741820
sr.length = 0
sr.capacity = 9
sr.max_size = 1073741820
s reached capacity of 0, growing...
s reached capacity of 1, growing...
s reached capacity of 2, growing...
s reached capacity of 3, growing...
s reached capacity of 4, growing...
s reached capacity of 5, growing...
s reached capacity of 6, growing...
s reached capacity of 7, growing...
s reached capacity of 8, growing...
s reached capacity of 9, growing...
sr reached capacity of 9, growing...
s reached capacity of 10, growing...
sr reached capacity of 10, growing...
s reached capacity of 11, growing...
sr reached capacity of 11, growing...
s reached capacity of 12, growing...
sr reached capacity of 12, growing...
s reached capacity of 13, growing...
sr reached capacity of 13, growing...
s reached capacity of 14, growing...
sr reached capacity of 14, growing...
s reached capacity of 15, growing...
sr reached capacity of 15, growing...
s reached capacity of 16, growing...
sr reached capacity of 16, growing...
s reached capacity of 17, growing...
sr reached capacity of 17, growing...
s reached capacity of 18, growing...
sr reached capacity of 18, growing...
s reached capacity of 19, growing...
sr reached capacity of 19, growing...
*/
Related examples in the same category