Должна ли реализация 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 <> быстрее кэшировать и использовать его напрямую [вместо isdigit () и др., Конец комментария] или использовать векторная форма ctype <> :: is.