После вопроса под названием предупреждение, вызванное неправильной обработкой параметров strcmp, похоже, есть некоторые вопросы относительно того, что Стандарт фактически гарантирует в отношении стоимости представление типов символов.
ВОПРОС
Это выглядит хорошо, но гарантирует ли стандарт, что значение (1) всегда будет истинным?
char unsigned * p1 = ...;
char * p2 = reinterpret_cast<char *> (p1);
*p1 == *p2; // (1)