std::ctype<char>::is
來自 cppreference.com
< cpp | 本地化 | 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> 的虛保護成員函式) |