Strings library
The C++ strings library includes support for two general types of strings:
- std::basic_string - a templated class that encapsulates common string operations
- Null-terminated strings - arrays of characters terminated by a special token
| Contents | 
[edit] std::basic_string
The templated class std::basic_string generalizes how sequences of characters are manipulated and stored. String creation, manipulation, and destruction are all handled by a convenient set of class methods and friend functions.
Several specializations of std::basic_string are provided for commonly-used types:
| Defined in header <string>  | |
| Type | Definition | 
| std::string | std::basic_string<char> | 
| std::wstring | std::basic_string<wchar_t> | 
| std::u16string | std::basic_string<char16_t> | 
| std::u32string | std::basic_string<char32_t> | 
[edit] Null-terminated strings
Null-terminated strings are arrays of characters that are terminated by a special token. C++ provides functions to create, inspect, and modify null-terminated strings.
There are three types of null-terminated strings:
[edit] Additional support
[edit] char_traits
The string library also provides class template char_traits that defines types and functions for std::basic_string. The following specializations are defined:
| Defined in header <string>
  | ||
| template<> class char_traits<std::string>; template<> class char_traits<std::wstring>; | (since C++11) (since C++11) | |

