標準C++で質問させてください。

アルファベットの文字は必ずしも'a'-'z'まで連続してならんでいないと聞きました。
すなわちchに文字が入っているとして
if('a'<ch && ch<'z'){******}
では必ずしも全ての小文字を捉えられる訳ではなく、環境依存であると聞きました。
ですが数字は並んでいることは保証されていますか?
すなわちchに文字が入っているとして
if('0'<ch && ch<'9'){******}
では必ず全ての数字を捉えられますか?

「捉えられない環境なんて見たことない」かどうかではなく、
標準C++で厳密に保証されているかどうかという視点で、
どうかよろしくお願いします。