string size grows : string size « String « C++






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

1.Use string.length() to check the string's size
2.string.size()string.size()
3.string.size(), string.length, string.capacity(), string.max_size()