sizeof(指针)是否依赖于对象类型?

这个问题在这里已经有了答案:

  • 最终的C ++图书指南和列表1的答案
  • sizeof(某个指针)总是等于四? 16个答案

  • 请解释为什么sizeof(B *)返回4?

    它返回4,因为系统中指针变量的大小是4。

    内存中究竟指向对象的是什么?

    对象驻留在内存中,指向对象的指针包含该对象的起始内存地址。 例如,如果您的B对象的大小为100字节,并且它放置在1024-1123(100字节)的内存位置,则指向该对象的指针将保存值'024(起始地址)。

    指向sizeof的指针取决于对象类型?

    我猜你的意思是指针大小取决于对象类型? 不,因为指针包含地址,所以它的大小取决于系统的地址空间,而不是它指向的对象的类型。


    指向对象的指针表示内存中对象的地址。 如果你的情况是4字节,这意味着你有一个32位的地址空间(操作系统,或你的程序内置32位)。 为了保持一个对象的地址,你并不需要任何关于这个对象的知识,所以指向一个不完整类型的指针是好的。

    请注意,这不适用于指向成员的指针,这些成员是完全不同的野兽。

    链接地址: http://www.djcxy.com/p/6869.html

    上一篇: Does sizeof(pointer) depend on the object type?

    下一篇: how to become an object oriented programmer