名稱空間
變體
操作

std::ctype<char>::is

來自 cppreference.com
 
 
 
 
 
定義於標頭檔案 <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++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 28 C++98 過載 (2) 將 vec 中的值複製到 table()
這與預期行為相反
已更正

[編輯] 另請參閱

[虛擬函式]
分類一個字元或一個字元序列
(std::ctype<CharT> 的虛保護成員函式) [編輯]