t
по-прежнему будет указывать на объект, созданный с помощью new b();
.*t =
изменяет значение того, на что указывает t
, а не t
.
Ваша последняя строка содержит неопределенное поведение, поскольку вы разыменовываете нулевой указатель.Кроме того, ваш актерский состав на самом деле является замаскированным reinterpret_cast
, чего вы не должны делать.