Mega Code Archive

 
Categories / C++ Tutorial / String
 

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...