Применяется ли лазейка для псевдонимов к подписанным символам?
В C++ есть лазейка для псевдонимов, которая позволяет объектному представлению любого объекта быть прочитанным или записанным с помощью некоторых указателей символьного типа.
Это относится только к char и unsigned char или также к signed char?
Ответ 1
Нет, это положение не распространяется на signed char.
[basic.lval]
8 Если программа пытается получить доступ к сохраненному значению объекта через glvalue другого, чем один из следующих типов поведение не определено:
[...]
тип char, unsigned char или std::byte.
Цитата выше содержит самый последний пункт, который относится к псевдонимам с типами символов. signed char исключен.
Тем не менее, это также является частью предмета CWG Issue 350, и поэтому может измениться. Учитывая направление проблемы, намерение состоит в том, чтобы она была (в конечном счете, надеюсь?) Четко определена.