我正在研究指针,我想出了类似的代码
class b
{
}
class d
{
}
d* a = 0;
b *t = new b();
*t = * ( b* )a;
Run Code Online (Sandbox Code Playgroud)
这个声明是什么意思?
什么价值?
t仍然会指向用它创建的对象new b();.*t =改变t指向的值,而不是t自身.
您的最后一行包含未定义的行为,因为您正在解除空指针.此外,你的演员实际上是一个reinterpret_cast伪装,这是你不应该做的事情.