Исправление utf8nowhere, (текущая версия) :
В C++ вообще нет понятия declared/effective type. Ну и получать доступ к объекту типа char
через что угодно тоже нельзя.
До появления понятия provides storage aligned_storage
был «волшебным» типом, который не подчинялся «обычным» правилам, т.е. не подыхал оттого, что поверх него (его мембера) создавали объект другого типа.
Исходная версия utf8nowhere, :
В C++ вообще нет понятия declared/effective type. Ну и получать доступ к объекту типа char
через что угодно тоже нельзя.
До появления понятия provides storage aligned_storage
был «волшебным» типом, который не подчинялся правилам языка, т.е. не подыхал оттого, что поверх него (его мембера) создавали объект другого типа.