gpt4 book ai didi

c++ - 基类和派生类之间的不同调试器指针地址

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:08 28 4
gpt4 key购买 nike

假设类 B 是基类,类 D 派生自 B。使用 VS-Debugger - 如果你有一个指向 D 类实例的指针 - 根据我们的定义,它也是一个指向 B 类的指针,所以你可以转换它 - 这些指针显示略有不同?

# pseudo-code:
B *pB = new D();
D *pD = (D*) pB;
# why is: pb != pD

最佳答案

这个概念称为别名。D pD = (D) pB;在这里你将 pd 分配给 pb,不管你是否正在转换它。您不是在创建新对象。地址将相同,位置上的对象已更改位置仍然相同。

想象一下,在您当前的地址 build 一个新家,您的地址将保持不变。因此,如果您比较这两个指针,它们将指向相同的地址。

关于c++ - 基类和派生类之间的不同调试器指针地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46600035/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com