c++ 的学习 面向对象4-指针放问的本质

1.如果有多个成员变量  ?

2.id 就是person的首地址

3.将person对象的地址取出来 给exa            exa  只是一个等于拿走地址 exa 不是空间 也没有形成空间

mov     dword ptr [ebp-20h],exa

记住有dword ptr 才是空间       把exa里面的东西地址放到指针变量p所在的存储空间9:

4.9:45

 

 在汇编里mov edx,dword ptr 中dword ptr什么意思_百度知道 (baidu.com)

MOV DWORD PTR [EBP-18],0 什么意思_百度知道 (baidu.com)

就是[]里面存的是地址    [exa]   [ebp-20h]

虽然[exa]是数据 但是也是取它的地址 

不是的是exa是地址值

exa 是地址值也是数据      刚开始 exa 是数据

之后是地址值 

exa 是寄存器

5.通过指针间接访问它所指向存储空间

6.前提就是*p  =&Person         这个已经表示了 指针里面是类里面的对象的地址值了

mov  eax ,dword ptr[ebp-20h]

所以才有了后面的      这句意思就是 从指针中取出对象的地址

7.就传给你地址    那么只能是用指针

8.

 

 

 

 上面是对应汇编代码

9.

 

 

 

 10.

 

posted @ 2021-10-02 19:55  a-mhh  阅读(41)  评论(0编辑  收藏  举报