basic_string::reserve
Dize kapasitesini en az belirtilen sayı kadar mükemmel bir sayıya ayarlar.
void reserve(
size_type _Count = 0
);
Parametreler
- _Count
Bellek kendisi için ayrılan karakter sayısı.
Notlar
Yeterli kapasiteye sahip olmak önemlidir, çünkü adetle sınırla bir süreçtir ve tüm başvurular, işaretçiler ve karakter dizesindeki başvurmak Yineleyicilerde geçersiz kılar.
Kapasite türü dize nesnelerinin kavramını tür vektör nesneleri ile aynıdır.Vektör, üye işlev aksine rezerve bir nesne kapasitesini daraltmak için çağrılabilir.İstek nonbinding ve olabilir veya değilse oluşabilir.Varsayılan olarak sıfır, çağrı parametresi için değer ise rezerve dizesinde karakter sayısı şu anda sığdırmak için dize kapasitesini daraltmak için bağlama isteğidir.Kapasite altında geçerli karakter sayısı hiçbir zaman azalır.
Arama reserve bir dize kapasitesini daraltmak için yalnızca olası yoldur.Ancak, yukarıda da belirtildiği gibi bu isteği olan nonbinding ve değilse oluşabilir.
Örnek
// 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;
}
Gereksinimler
Başlık: <string>
Namespace: std