命名空间
变体
操作

std::ctype<char>::is

来自 cppreference.cn
< 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) 对于字符数组 [lowhigh) 中的每个字符,从成员函数 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) 如果 ctable() 中被 m 分类,则为 true,否则为 false
2) high

[编辑] 注解

与主模板 std::ctype 不同,此特化在分类字符时不会执行虚函数调用。 要自定义行为,派生类可以为基类构造函数提供非默认分类表。

[编辑] 示例

[编辑] 缺陷报告

以下行为更改缺陷报告被追溯应用于先前发布的 C++ 标准。

DR 应用于 已发布行为 正确行为
LWG 28 C++98 重载 (2) 将值从 vec 复制到 table()
这与预期行为相反
已更正

[编辑] 参见

[虚函数]
分类字符或字符序列
(std::ctype<CharT> 的虚保护成员函数) [编辑]