CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sun, 27 Jul 2025 02:59:52 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/string/basic_string/capacity/
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 27 Jul 2025 02:59:52 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"9da7-qk/hz2sJdIS4VYT7un2P7FlIRoA"
Content-Encoding: gzip
Returns the size of the storage space currently allocated for the basic_string, expressed in terms of characters.
This capacity is not necessarily equal to the string length. It can be equal or greater, with the extra space allowing the object to optimize its operations when new characters are added to the basic_string.
Notice that this capacity does not suppose a limit on the length of the basic_string. When this capacity is exhausted and more is needed, it is automatically expanded by the object (reallocating it storage space). The theoretical limit on the length of a basic_string is given by member max_size.
The capacity of a basic_string can be altered any time the object is modified, even if this modification implies a reduction in size or if the capacity has not been exhausted (this is in contrast with the guarantees given to capacity in vector containers).
The capacity of a basic_string can be explicitly altered by calling member reserve.
Member type size_type is an unsigned integral type.
A possible output for this program could be:
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
basic_string
- basic_string::~basic_string
- basic_string::basic_string
member functions
- basic_string::append
- basic_string::assign
- basic_string::at
-
basic_string::backC++11
- basic_string::begin
- basic_string::c_str
- basic_string::capacity
-
basic_string::cbeginC++11
-
basic_string::cendC++11
- basic_string::clear
- basic_string::compare
- basic_string::copy
-
basic_string::crbeginC++11
-
basic_string::crendC++11
- basic_string::data
- basic_string::empty
- basic_string::end
- basic_string::erase
- basic_string::find
- basic_string::find_first_not_of
- basic_string::find_first_of
- basic_string::find_last_not_of
- basic_string::find_last_of
-
basic_string::frontC++11
- basic_string::get_allocator
- basic_string::insert
- basic_string::length
- basic_string::max_size
- basic_string::operator[]
- basic_string::operator+=
- basic_string::operator=
-
basic_string::pop_backC++11
- basic_string::push_back
- basic_string::rbegin
- basic_string::rend
- basic_string::replace
- basic_string::reserve
- basic_string::resize
- basic_string::rfind
-
basic_string::shrink_to_fitC++11
- basic_string::size
- basic_string::substr
- basic_string::swap
member constants
non-member overloads
- Reference
- <string>
- basic_string
- capacity
public member function
<string>
std::basic_string::capacity
size_type capacity() const;
size_type capacity() const noexcept;
Return size of allocated storage
This capacity is not necessarily equal to the string length. It can be equal or greater, with the extra space allowing the object to optimize its operations when new characters are added to the basic_string.
Notice that this capacity does not suppose a limit on the length of the basic_string. When this capacity is exhausted and more is needed, it is automatically expanded by the object (reallocating it storage space). The theoretical limit on the length of a basic_string is given by member max_size.
The capacity of a basic_string can be altered any time the object is modified, even if this modification implies a reduction in size or if the capacity has not been exhausted (this is in contrast with the guarantees given to capacity in vector containers).
The capacity of a basic_string can be explicitly altered by calling member reserve.
Parameters
noneReturn Value
The size of the storage capacity currently allocated for the basic_string.Member type size_type is an unsigned integral type.
Example
|
|
A possible output for this program could be:
size: 11 length: 11 capacity: 15 max_size: 429496729 |
Complexity
Unspecified, but generally constant.Iterator validity
No changes.Data races
The object is accessed.Exception safety
No-throw guarantee: this member function never throws exceptions.See also
- basic_string::reserve
- Request a change in capacity (public member function)
- basic_string::length
- Return length of string (public member function)
- basic_string::size
- Return size (public member function)
- basic_string::max_size
- Return maximum size (public member function)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us