public member function
<string>

std::basic_string::capacity

size_type capacity() const;
size_type capacity() const noexcept;
返回已分配儲存空間的大小
返回當前為basic_string分配的儲存空間的大小,以字元數表示。

容量不一定等於字串長度。它可以等於或大於字串長度,額外的空間允許物件在向basic_string新增新字元時最佳化其操作。

請注意,此容量並不意味著限制長度basic_string。當此容量耗盡並且需要更多容量時,物件會自動擴充套件它(重新分配它的儲存空間)。一個basic_string長度的理論極限由成員max_size給出。

basic_string容量可以在物件被修改的任何時候更改,即使這種修改意味著尺寸的減小,或者容量尚未耗盡(這與vector容器中對capacity的保證形成對比)。

basic_string容量可以透過呼叫成員reserve顯式更改。

引數



返回值

當前為basic_string分配的儲存容量的大小。

成員型別size_type是一種無符號整型型別。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
// comparing size, length, capacity and max_size
#include <iostream>
#include <string>

int main ()
{
  std::string str ("Test string");
  std::cout << "size: " << str.size() << "\n";
  std::cout << "length: " << str.length() << "\n";
  std::cout << "capacity: " << str.capacity() << "\n";
  std::cout << "max_size: " << str.max_size() << "\n";
  return 0;
}

此程式的一個可能輸出是
size: 11
length: 11
capacity: 15
max_size: 429496729


複雜度

未指定,但通常是恆定的。

迭代器有效性

沒有變化。

資料競爭

該物件被訪問。

異常安全

無異常保證:此成員函式從不丟擲異常。

另見