间接寻址就是使用寄存器作为指针,控制该寄存器的值来寻到数组中的元素。间接寻址是建立在直接寻址上的,就是值指地址的地址,或者存放地址的寄存器。
在类成员函数里,类数据成员是通过this
指针+偏移访问,this
指针一般是一个对象的首地址,这里寄存器EAX
存的就是this
指针
上面构造函数等价于
point(int d1, int s1)
{
this->x = d1;
this->y = s1;
}
寄存器间接寻址[EBX]
意思就是把寄存器EBX里的内容当着地址,然后去读或写这个地址所指内存里的内容。
对象在栈里,他的成员就在栈里
你说的应该是对象的成员变量
如 begar(不懂编程的程序员) 所说,对象的成员变量就放在对象内
如果对象本身是堆栈(SS)里的,那么它的(非静态)数据成员也在堆栈里
如果对象本身是堆里的,那么它的(非静态)数据成员也在堆里
如果对象本身是DS里的,那么它的数据成员也在DS里
所谓public/private/protected规定的是成员的“存取”权限
而SS/DS/Heap是“存储”方式,与前者没有任何关系