Difference between revisions of "cpp/string"
m (Text replace - "{{tdcl" to "{{dcl") |
m (Text replace - "/sidebar" to "/navbar") |
||
Line 1: | Line 1: | ||
{{title|Strings library}} | {{title|Strings library}} | ||
− | {{cpp/string/ | + | {{cpp/string/navbar}} |
The C++ strings library includes support for two general types of strings: | The C++ strings library includes support for two general types of strings: |
Revision as of 14:05, 15 June 2012
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 |
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> |
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:
Additional support
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:
Template:ddcl list begin <tr class="t-dsc-header">
<td><string>
<td></td> <td></td> </tr> <tr class="t-dcl ">
<td >template<> class char_traits<std::wstring>;
template<> class char_traits<std::u16string>;
<td class="t-dcl-nopad"> </td>
<td >
(since C++11)
(since C++11) </td>
</tr>
Template:ddcl list end