basic_string::reserve

Imposta la possibilità di stringa in un numero almeno grande come numero specificato.

void reserve(
    size_type _Count = 0
);

Parametri

  • _Count
    La memoria del numero di caratteri per il quale è riservata.

Note

La capacità sufficiente è importante perché gli riallocazioni è un'operazione elaborata e invalida tutti i riferimenti, puntatori e gli iteratori che fanno riferimento ai caratteri di una stringa.

Il concetto della possibilità per gli oggetti di stringhe di tipo equivale a per gli oggetti del vettore del tipo.A differenza del vettore, la funzione membro reserve può essere chiamata per ridurre la capacità di un oggetto.La richiesta viene nonbinding e può verificarsi.Poiché il valore predefinito del parametro è zero, una chiamata reserve è una richiesta di associazione non di ridurre la possibilità della stringa di misura attualmente il numero di caratteri della stringa.La capacità non viene ridotta mai in numero corrente di caratteri.

Chiamare reserve è l'unica modalità possibile ridurre la capacità di una stringa.Tuttavia, come indicato in precedenza, la richiesta viene nonbinding e non può verificarsi.

Esempio

// 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;
}
  
  
  
  
  
  

Requisiti

intestazione: <string>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

basic_string Class