std::ctype<char>::is
来自cppreference.com
< cpp | locale | ctype char
在标头 <locale> 定义
|
||
bool is( mask m, char c ) const; |
(1) | |
const char* is( const char* low, const char* high, mask* vec ) const; |
(2) | |
1) 检查字符 c 是否按照成员函数 table() 所返回的分类表,以掩码 m 分类。等效地计算 table()[(unsigned char)c] & m。
2) 对字符数组
[low, high)
中每个字符,从成员函数 table() 所返回的分类表读取其完整分类掩码(即计算 table()[(unsigned char)*p] ),并将它存储到 vec 所指向数组的对应元素。如果 (unsigned char)c >= std::ctype<char>::table_size,那么以由实现定义的值取代 table()[(unsigned char)c] ,可能对于 c 的不同值不同。
参数
c | - | 要分类的字符 |
m | - | 用于分类单个字符的掩码 |
low | - | 指向要分类的字符数组中首字符的指针 |
high | - | 要分类的字符数组的尾后一位置指针 |
vec | - | 指向要填充的掩码数组首元素的指针 |
返回值
1) c 在 table() 中以 m 分类时返回 true,否则返回 false
2) high
注意
与主模板 std::ctype 不同,此特化在分类字符时不进行虚函数调用。派生类为了定制行为可以提供非默认分类表给基类构造函数。
示例
本节未完成 原因:暂无示例 |
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 28 | C++98 | 重载 (2) 将来自 vec 的值复制到了 table() 中,这与预期行为相反 | 已改正 |
参阅
[虚] |
分类字符或字符序列 ( std::ctype<CharT> 的虚受保护成员函数) |