std::basic_string
From cppreference.com
| Defined in header <string>
| ||
| template<
class CharT, | ||
The class template basic_string stores and manipulates sequences of char-like objects (that is, objects for which a specialization of std::char_traits or compatible traits class is provided).
The elements of a basic_string are stored contiguously, that is, for a basic_string s, &*(s.begin() + n) == &*s.begin() + n for any n in [0, s.size()), or, equivalently, a pointer to s[0] can be passed to functions that expect a pointer to the first element of a charT[] array. (since C++11)
Several specializations for common character types are provided:
| Defined in header <ostream>
| |
| Type | Definition |
| string | basic_string<char> |
| wstring | basic_string<wchar_t> |
| u16string | basic_string<char16_t> |
| u32string | basic_string<char32_t> |
Contents |
[edit] Member types
| Member type | Definition |
| traits_type | Traits |
| value_type | Traits::char_type |
| allocator_type | Allocator |
| size_type | Unsigned integral type (usually size_t) |
| difference_type | Signed integer type (usually ptrdiff_t) |
| reference | Allocator::reference (until C++11) value_type& (since C++11) |
| const_reference | Allocator::const_reference (until C++11) const value_type& (since C++11) |
| pointer | Allocator::pointer (until C++11) std::allocator_traits<Allocator>::pointer (since C++11) |
| const_pointer | Allocator::const_pointer (until C++11) std::allocator_traits<Allocator>::const_pointer (since C++11) |
| iterator | RandomAccessIterator |
| const_iterator | Constant random access iterator |
reverse_iterator
| std::reverse_iterator<iterator> |
const_reverse_iterator
| std::reverse_iterator<const_iterator> |
[edit] Member functions
| constructs the basic_string (public member function) | |
| assigns values to the string (public member function) | |
| assign characters to a string (public member function) | |
| returns the associated allocator (public member function) | |
Element access | |
| access specified character with bounds checking (public member function) | |
| access specified character (public member function) | |
| (C++11) | accesses the first character (public member function) |
| (C++11) | accesses the last character (public member function) |
| returns a pointer to the first character of a string (public member function) | |
| returns a non-modifiable standard C character array version of the string (public member function) | |
Iterators | |
| (C++11) | returns an iterator to the beginning (public member function) |
| (C++11) | returns an iterator to the end (public member function) |
| (C++11) | returns a reverse iterator to the beginning (public member function) |
| (C++11) | returns a reverse iterator to the end (public member function) |
Capacity | |
| checks whether the string is empty (public member function) | |
| returns the number of characters (public member function) | |
| returns the length of the string (public member function) | |
| returns the maximum number of characters (public member function) | |
| reserves storage (public member function) | |
| returns the number of characters that can be held in currently allocated storage (public member function) | |
| (C++11) | reduces memory usage by freeing unused memory (public member function) |
Operations | |
| clears the contents (public member function) | |
| inserts characters (public member function) | |
| removes characters (public member function) | |
| inserts characters to the end (public member function) | |
| (C++11) | removes the last character (public member function) |
| appends characters to the end (public member function) | |
| appends characters to the end (public member function) | |
| compares two strings (public member function) | |
| replaces every occurrence of specified characters (public member function) | |
| returns a substring (public member function) | |
| copies characters (public member function) | |
| changes the number of characters stored (public member function) | |
| swaps the contents (public member function) | |
Search | |
| find characters in the string (public member function) | |
| find the last occurrence of a substring (public member function) | |
| find first occurrence of characters (public member function) | |
| find first absence of characters (public member function) | |
| find last occurrence of characters (public member function) | |
| find last absence of characters (public member function) | |
Constants | |
| [static] | special value. The exact meaning depends on the context (public static member constant) |
[edit] Non-member functions
| concatenates two strings or a string and a char (function template) | |
| lexicographically compares two strings (function template) | |
| specializes the std::swap algorithm (function template) | |
Input/output | |
| performs stream I/O on strings (function template) | |
| read data from an I/O stream into a string (function) | |
Numeric conversions | |
| (C++11) (C++11) (C++11) | converts a string to an signed integer (function) |
| (C++11) (C++11) | converts a string to an unsigned integer (function) |
| (C++11) (C++11) (C++11) | converts a string to an floating point value (function) |
| (C++11) | converts an integral or floating point value to string (function) |
| (C++11) | converts an integral or floating point value to wstring (function) |
[edit] Helper classes
| (C++11) (C++11) (C++11) (C++11) | hash support for strings (class template specialization) |