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++ 标准。
DR | 应用于 | 发布的行为 | 正确行为 |
---|---|---|---|
LWG 28 | C++98 | 重载 (2) 将值从 vec 复制到 table() 中, 与预期行为相反 |
已更正 |
[编辑] 另请参阅
[虚拟] |
对字符或字符序列进行分类 ( std::ctype<CharT> 的虚拟受保护成员函数) |