共用方式為


basic_string::reserve

設定字串的容量設定為數字至少一大,就像是一個指定數字。

void reserve(
    size_type _Count = 0
);

參數

  • _Count
    記憶體中保留的字元數。

備註

有足夠的容量很重要,因為重新配置是一項費時的程序和 null 參考字串中的字元的所有參考、指標和 Iterator。

容量的概念型別字串物件的相同型別的物件的。 不同的向量,成員函式 reserve 可能呼叫壓縮物件的容量。 要求為未繫結功能,並不一定會發生。 因為參數的預設值為零, reserve 呼叫是不繫結功能要求壓縮字串的能力目前符合字串中字元數。 容量以字元下的目前數目永遠不會減少。

呼叫 reserve 是唯一的方式縮小字串的容量。 不過,如前面所述,要求未繫結功能,且不會發生。

範例

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

需求

標題: <string>

命名空間: std

請參閱

參考

basic_string Class