Требуются ли цифры символов ['0' .. '9'], чтобы иметь непрерывные числовые значения?

Должна ли реализация 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.

19
задан Rohit Vipin Mathews 24 February 2012 в 09:53
поделиться