首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >字符数字[‘0’.‘9’]是否需要有连续的数值?

字符数字[‘0’.‘9’]是否需要有连续的数值?
EN

Stack Overflow用户
提问于 2018-03-14 23:16:41
回答 1查看 0关注 0票数 0

必须通过C ++实现将字符'0' - '9'设置为连续的数值,即:

代码语言:javascript
复制
'0' -> 0+n
'1' -> 1+n
 m  -> m+n
'9' -> 9+n

我无法在isdigit([分类](22.3.3.1字符分类))*的文档中找到它,我也不能在语言环境文档中找到它。

在2.3字符集中,我们发现

基本源字符集由96个字符组成:空格字符,控制字符表示水平制表符,垂直制表符,换页符和换行符,以及以下91个图形字符

但它没有提到任何顺序。

*:那里有趣的脚注:

在循环中使用时,缓存ctype <> facet并直接使用它会更快(而不是isdigit()等,end comment],或者使用ctype <> :: is的向量形式。

EN

回答 1

Stack Overflow用户

发布于 2018-03-15 09:05:20

在源和执行基本字符集中,上述十进制数字列表中的 0之后的每个字符的值应该大于前一个的值。

这是上面的十进制数字列表:

代码语言:javascript
复制
0 1 2 3 4 5 6 7 8 9

因此,实现必须使用小数位具有连续表示的字符集。因此,你依赖此属性的优化是安全的; 然而,依赖于其他数字(例如'a'..'z')的模糊性的优化对于标准来说是不可移植的。如果你这样做,一定要声明该属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档