unix core 问题定位-基础知识

一,基础知识:

C++函数调用和c一样是从右到左入栈的,例如:

exa.foo(12);

则首先被压进12,然后在此函数被调用的地方压进对象的exa的首地址被压进(放在si),因为它是被选中的对象的首地址所以也被压进来了,记住此对象的首地址对应于this的值,正因为调用每个成员函数时候this都被压栈,所以成员知道它工作在哪个对象上,这样我们总能看到,在对象的成员调用之前压栈的次数等于参数的个数加一(除了static成员函数,它没有this)

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页