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