Как стать автором
Обновить
6
0
Александр Птахин @Parander

Программист

Отправить сообщение
Круто! Спасибо за термин.
Я действительно не подумал решить проблему, а решил её просто вырезать. Вышло здорово, спасибо. Хоть HabraCallbacks пиши с лямбдами и поэтессами.
Да, именно этот случай. Полный ад случится, если при незначительном изменении структуры сообщения, компилятор по внутренним соображениям выравнивания переставит наследуемые классы (емнип, порядок расположения в стандарте не определён). И внезапно где-то в коде всё сломается!
Да, спасибо. Я не совсем верно употребил по смыслу slice. Я отбрасываю из решения частные случаи slice. Там где указатель на класс наследника и указатель на базовый класс начинают отличаться. В вашем примере с этим всё хорошо (https://ideone.com/9vzMCE).

По смыслу восстановить объект с dynamic_cast можно. И это вариант более полного решения, нежели приведённое. Я скорее хотел обойтись без dynamic_cast, используя фактически reinterpret_cast для ссылок. И поэтому в таком решении приходится отсеивать такие случаи.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность