Difference between revisions of "cpp/string"
(use lc) |
(char_traits specializations are on character types, not string types) |
||
Line 41: | Line 41: | ||
{{dcl header | string}} | {{dcl header | string}} | ||
{{dcl | notes=<br><br>{{mark since c++11}}<br>{{mark since c++11}} | | {{dcl | notes=<br><br>{{mark since c++11}}<br>{{mark since c++11}} | | ||
− | template<> class char_traits< | + | template<> class char_traits<char>; |
− | template<> class char_traits< | + | template<> class char_traits<wchar_t>; |
− | template<> class char_traits< | + | template<> class char_traits<char16_t>; |
− | template<> class char_traits< | + | template<> class char_traits<char32_t>; |
}} | }} | ||
{{dcl end}} | {{dcl end}} |
Revision as of 07:47, 7 February 2014
The C++ strings library includes support for two general types of strings:
- std::basic_string - a templated class designed to manipulate strings of any character type.
- Null-terminated strings - arrays of characters terminated by a special null character.
Contents |
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 related 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> |
Null-terminated strings
Null-terminated strings are arrays of characters that are terminated by a special null character. C++ provides functions to create, inspect, and modify null-terminated strings.
There are three types of null-terminated strings:
Additional support
std::char_traits
The string library also provides class template std::char_traits that defines types and functions for std::basic_string. The following specializations are defined:
Defined in header <string>
|
||
template<> class char_traits<char>; template<> class char_traits<wchar_t>; |
(since C++11) (since C++11) |
|