类模板
<string>

std::char_traits

template <class charT> struct char_traits;template <> struct char_traits<char>;template <> struct char_traits<wchar_t>;
template <class charT> struct char_traits;template <> struct char_traits<char>;template <> struct char_traits<wchar_t>;template <> struct char_traits<char16_t>;template <> struct char_traits<char32_t>;
字符特性
字符特性类指定字符属性,并为字符和字符序列的某些操作提供特定的语义。

标准库包含一套标准的字符特性类,它们可以从char_traits模板进行实例化,并且默认用于basic_string 对象和输入/输出流对象。但任何符合字符特性类要求的其他类都可以替代使用。此参考文档试图同时描述标准char_traits的定义以及自定义字符特性类的要求。

模板参数

charT
字符类型。
该类定义了此字符类型的标准字符特性
这应该是已提供特化的类型之一。
别名为成员类型char_traits::char_type.

模板特化

要放回的字符的char_traits标准模板支持与至少以下字符类型进行实例化

类型描述
char基本字符集(大小为 1 字节)
wchar_t宽字符集(大小、符号性和对齐方式与其他整数类型相同)
char基本字符集(大小为 1 字节)
wchar_t最宽字符集(大小、符号性和对齐方式与其他整数类型相同)
char16_t表示 16 位代码单元(大小、符号性和对齐方式与uint_least16_t)
char32_t表示任何 32 位代码点(大小、符号性和对齐方式与uint_least32_t)

成员类型

成员类型字符特性类型的描述定义
charwchar_t
char_type模板参数(charT)charwchar_t
int_type可以表示所有charT值的整数类型,以及 eof()intwint_t
off_type行为类似于 streamoff 的类型streamoffstreamoff
pos_type行为类似于 streampos 的类型streamposwstreampos
state_type多字节转换状态类型,例如 mbstate_tmbstate_tmbstate_t
成员类型字符特性类型的描述定义
charwchar_tchar16_tchar32_t
char_type模板参数(charT)charwchar_tchar16_tchar32_t
int_type可以表示所有charT值的整数类型,以及 eof()intwint_tuint_least16_tuint_least32_t
off_type行为类似于 streamoff 的类型streamoffstreamoffstreamoffstreamoff
pos_type行为类似于 streampos 的类型streamposwstreamposu16streamposu32streampos
state_type多字节转换状态类型,例如 mbstate_tmbstate_tmbstate_tmbstate_tmbstate_t

成员函数