t *指向什么价值

时间:2012-02-09 12:15:30

标签: c++ pointers

我正在研究指针,我想出了类似的代码

class b 
{

}
class d

{

}

d* a = 0;

b *t = new b();

*t = * ( b* )a;

这个声明是什么意思?
有什么价值?

1 个答案:

答案 0 :(得分:6)

t仍将指向使用new b();创建的对象。 *t =更改了t指向的值,而不是t本身的值。

您的最后一行包含未定义的行为,因为您正在解除空指针。此外,你的演员实际上是伪装的reinterpret_cast,这是你不应该做的事情。