public member function

std::string::capacity

<string>
size_t capacity ( ) const;
Return size of allocated storage
Returns the size of the allocated storage space in the string object.

Notice that the capacity is not necessarily equal to the number of characters that conform the content of the string (this can be obtained with members size or length), but the capacity of the allocated space, which is either equal or greater than this content size.

Notice also that this capacity does not suppose a limit to the length of the string. If more space is required to accomodate content in the string object, the capacity is automatically expanded, or can even be explicitly modified by calling member reserve.

The real limit on the size a string object can reach is returned by member max_size.

Parameters

none

Return Value

The size of the currently allocated storage space in the string object.

size_t is an unsigned integral type.

Example

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

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


A possible output for this program could be:
size: 11
length: 11
capacity: 15
max_size: 4294967291

Basic template member declaration

( basic_string<charT,traits,Allocator> )
1
2
typedef typename Allocator::size_type size_type;
size_type capacity ( ) const;


See also