Я часто слышу, что это для обратной совместимости с C. Но C не имеет спецификаторов доступа, так как они могут нарушить совместимость?
И связанный вопрос, почему спецификаторы смешанного доступа позволяют компилятору изменять порядок членов структуры в памяти?
Задача ещё не решена.
Других решений пока нет …