gpt4 book ai didi

c++ - 指针除了存地址,怎么实现呢?

转载 作者:可可西里 更新时间:2023-11-01 15:45:58 25 4
gpt4 key购买 nike

最近我回答了another question asking for questions every decent C++ programmer should be able to answer . My suggestion

Q: How does a pointer point to an object?
A: The pointer stores the address of that object.

但是user R..不同意我向 Q 提出的 A - 他说 正确的答案是“它是特定于实现的”。虽然当前的实现将数字地址存储为指针,但没有理由不将其设计得更加精细

当然,除了为了不同意而存储地址之外,可能还有其他实现,我不能不同意。我真的很感兴趣还有哪些其他真正使用过的实现。

除了将地址存储在整数类型变量中之外,C++ 中还有哪些实际使用的指针实现?转换(尤其是 dynamic_cast)是如何实现的?

最佳答案

在概念层面上,我同意你的观点——我将对象的地址定义为“在内存中定位对象所需的信息”。不过,地址可能会有很大差异。

如今,指针值通常表示为简单的线性地址……但有些架构的地址格式并不那么简单,或者因类型而异。例如,在 x86 上以实模式编程(例如在 DOS 下),有时您必须将地址存储为段:偏移对。

参见 http://c-faq.com/null/machexamp.html有关更多示例。我发现对 Symbolics Lisp 机器的引用很有趣。

关于c++ - 指针除了存地址,怎么实现呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3939876/

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