basic_string::reserve

Legt die Kapazität der Zeichenfolge in eine Zahl mindestens so groß wie eine angegebene Anzahl fest.

void reserve(
    size_type _Count = 0
);

Parameter

  • _Count
    Die Anzahl von Zeichen, für die Speicher reserviert ist.

Hinweise

Die ausreichend Kapazität verfügen ist wichtig, da Neuzuordnung ein aufwändiges wird empfohlen und alle Verweise, Zeiger und Iteratoren ungültig werden, die Zeichen in einer Zeichenfolge verweisen.

Das Konzept der Kapazität für Objekte von Typzeichenfolgen entspricht für Objekte des Typvektors.Anders als Vektoren wird die Memberfunktion möglicherweise reserve aufgerufen, um die Kapazität des Objekts zu verringern.Die Anforderung ist nonbinding und geschieht ab.Da der Standardwert für den Parameter null ist, ist ein Aufruf von reserve NichtBindung eine Anforderung, die Kapazität der Zeichenfolge zu verkleinern, die Anzahl der Zeichen in der Zeichenfolge nur angepasst.Die Kapazität wird nie unter der aktuellen Anzahl von Zeichen reduziert.

reserve aufzurufen ist die einzige mögliche Methode, die Kapazität einer Zeichenfolge zu verringern.jedoch, wie oben erwähnt, wird diese Anforderung ist nonbinding und nicht.

Beispiel

// basic_string_reserve.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( ) 
{
   using namespace std;
   string str1 ("Hello world");
   cout << "The original string str1 is: " << str1 << endl;

   basic_string <char>::size_type sizeStr1, sizerStr1;
   sizeStr1 = str1.size ( );
   basic_string <char>::size_type capStr1, caprStr1;
   capStr1 = str1.capacity ( );

   // Compare size & capacity of the original string
   cout << "The current size of original string str1 is: " 
        << sizeStr1 << "." << endl;
   cout << "The capacity of original string str1 is: "
        << capStr1 << "." << endl << endl;

   // Compare size & capacity of the string
   // with added capacity
   str1.reserve ( 40 );
   sizerStr1 = str1.size ( );
   caprStr1 = str1.capacity ( );

   cout << "The string str1with augmented capacity is: "
        << str1 << endl;
   cout << "The current size of string str1 is: " 
        << sizerStr1 << "." << endl;
   cout << "The new capacity of string str1 is: "
        << caprStr1 << "." << endl << endl;

   // Compare size & capacity of the string
   // with downsized capacity
   str1.reserve ( );
   basic_string <char>::size_type sizedStr1;
   basic_string <char>::size_type capdStr1;
   sizedStr1 = str1.size ( );
   capdStr1 = str1.capacity ( );

   cout << "The string str1 with downsized capacity is: "
        << str1 << endl;
   cout << "The current size of string str1 is: " 
        << sizedStr1 << "." << endl;
   cout << "The reduced capacity of string str1 is: "
        << capdStr1 << "." << endl << endl;
}
  
  
  
  
  
  

Anforderungen

Header: <string>

Namespace: std

Siehe auch

Referenz

basic_string Class