在 C++ 的实现中,必须将字符 '0'-'9' 设置为具有连续的数字值吗?也就是说:
'0' -> 0+n
'1' -> 1+n
m -> m+n
'9' -> 9+n
我在 isdigit
的文档([分类](22.3.3.1字符分类))和语言环境文档中均未找到相关说明(但可能是我没有仔细查找)。
在2.3字符集中,我们发现:
基本源字符集由96个字符组成:空格字符、表示水平制表符、垂直制表符、换页符和换行符的控制字符,以及以下91个图形字符。
但是它没有提及任何排序方式(但可能是我没有仔细查找)。
有趣的注脚:
在循环中使用时,缓存 ctype<> facet 并直接使用它比使用 isdigit() 等更快,或者使用 ctype<>::is 的向量形式。
Ⅿ
;) )。 - MSalters