カスタムライブラリで実装を見ました:
inline int is_upper_alpha(char chValue)
{
if (((chValue >= 'A') && (chValue <= 'I')) ||
((chValue >= 'J') && (chValue <= 'R')) ||
((chValue >= 'S') && (chValue <= 'Z')))
return 1;
return 0;
}
それはイースターエッグですか、それとも標準のC / C ++メソッドと比較した場合の利点は何ですか?
inline int is_upper_alpha(char chValue)
{
return ((chValue >= 'A') && (chValue <= 'Z'));
}
EBCDICでは、小文字の文字範囲が大文字の文字範囲の前にあり、どちらも数字の前にあることに注意してください。これは、ASCIIベースのエンコーディング(8859など)の順序とは正反対です。 xシリーズ、またはUnicode、またはCP1252、または…)。
—
Jonathan Leffler、2015年
注:場合
—
Matthieu M.15年
'J' - 'I'
と'S' - 'R'
両方同じ1
、私は合理的なオプティマイザは後者で、前者を回すだろうと期待しています。