На какое значение указывает t * - PullRequest
0 голосов
/ 09 февраля 2012

Я изучаю указатели, и я придумал такой код

class b 
{

}
class d

{

}

d* a = 0;

b *t = new b();

*t = * ( b* )a;

Что означает это объявление?
Какое значение имеет t?

1 Ответ

6 голосов
/ 09 февраля 2012

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

Ваша последняя строка содержит неопределенное поведение, поскольку вы разыменовываете нулевой указатель.Кроме того, ваш актерский состав на самом деле является замаскированным reinterpret_cast, чего вы не должны делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...