这不是真正的指针吗?

All*_*nzi 4 c++ pointers this

我正在阅读有关虚拟表的内容.说到指针__vptr,由作者说明

*this指针不同,指针实际上是编译器用来解析自引用的函数参数,它*__vptr是一个真正的指针.因此,它使每个类对象的分配大一个指针的大小.

这里的含义是什么,this实际上是一个函数参数?而this不是一个真正的指针?

das*_*ght 7

两个指针都是真实的,因为它们在内存中存储了其他内容的地址.通过"真实",作者意味着"存储在类中",而不是this指针,它被传递给成员函数而不存储在对象本身中.本质上,指针__vptr是对象的一部分,而this指针则不是.

  • @Allanqunzi像任何其他函数参数一样,指针`this`是瞬态的,它根本不存储.当您调用成员函数时,编译的代码将获取您调用该函数的对象的地址,并将该地址作为"this"指针传递给成员函数.成员函数完成后,`this`指针就消失了. (7认同)