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
- string::reserve
- Request a change in capacity (public member function)
- string::size
- Return length of string (public member function)
- string::max_size
- Return maximum size of string (public member function)
- string::resize
- Resize string (public member function)