C ++実装では、文字「0」〜「9」を連続した数値を持つように設定する必要があります。つまり、次のようになります。
'0' -> 0+n
'1' -> 1+n
m -> m+n
'9' -> 9+n
isdigit
([classification](22.3.3.1 Character Classification))*のドキュメントに記載されているものが見つかりません。また、ロケールのドキュメントにもありません(ただし、十分に調べていなかった可能性があります)。
2.3文字セットでは、
基本的なソース文字セットは、スペース文字、水平タブ、垂直タブ、フォームフィード、改行を表す制御文字、および次の91個のグラフィック文字の96文字で構成されます。
しかし、それは順序については言及していません(しかし、多分私は十分に一生懸命に見えませんでした)。
*:興味深い脚注があります:
ループで使用する場合は、ctype <>ファセットをキャッシュして直接使用するか(isdigit()et al、end commentの代わりに)、またはctype <>::isのベクトル形式を使用する方が高速です。