编程语言
首页 > 编程语言> > c++ 的学习 指针的思考题

c++ 的学习 指针的思考题

作者:互联网

1.对指针不理解的话 去看   那个框        还是那句话,就是先从指针变量中拿出地址 p指针现在里面就是地址

c++ 的学习 引用3-反汇编

   2.至于所说的通过指针间接访问 变量的值 这个间接你一直说你不理解,int *p=&age 也是不用在想了             也是从左到右 翻译::用P指针间接访问age 的值          所谓访问一般就是修改的意思 3.用 eax+0       eax+4        exa+4+4 就是得eax 默认就是person得首地址         首地址就是srtuct 类里面写的那个顺序 第一个就是类 4.10 40 50 为什么  id 还是10 因为

 

 没有修改

 

 5.

 

 6.调用成员函数时:哪个对象调用display() ,

就将对象地址传进去,???传给谁啊       this

this 地址就是 person的地址             this 里面取出来就是刚好person地址值

p->display() 是将m_age 地址传进去因为  Person 

person.display()

是将person地址传进去

15:47解释你的问题,就是p->m_id=40;

p->m_id=40;

p->m_age=50;

这里就是修改  m_age的值=40    修改 m_height=50

这里还没有用display()       也没有把person地址值传给this

就是说  person 在main函数里面      也是一个类底下的对象了   在代码区

在main函数里改  对象的成员值                 是通过 Person类底下的对象person它本身的存储空间

已经在main函数里面改了 

p->display() 

7.这时候你要问了  为什么不把 viod 成员函数 删除 或者没有

直接在main 函数里面就调用不就好了 那么麻烦

(1)那成员有无数个呢  怎么办     有无数个成员对象    需要打印出你在main里面赋的值

8. 当然

p->display() 

person.display()

是俩种访问  成员函数的方法

9.老师在main      ,       函数里面的  exa+0     exa+4       exa+4+4

以及在viod    中的 this        exa+0     exa+4       exa+4+4

一个讲指针赋值成员对象的汇编

一个讲调用成员函数的汇编原理

10.关键是调用函数     那个this    汇编我没有太理解

11

 

 12.

 

 

 13.

 

 

标签:思考题,exa,c++,person,地址,main,display,指针
来源: https://www.cnblogs.com/a-hhxx/p/15362897.html