unix core 问题定位-基础知识

    技术2022-05-11  98

    一,基础知识:

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

    exa.foo(12);

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


    最新回复(0)