美文网首页
c++ this指针

c++ this指针

作者: FakeCSer爱去网吧 | 来源:发表于2020-09-14 14:57 被阅读0次

    this指针

    this指针是啥

    • this指针并不是对象本身的一部分,不会影响sizeof的结果
    • this指针其实就是对象本身的地址。

    this指针与虚指针

    this指针与成员函数

    实际上,编译器将成员函数转换为非成员函数,经过下面三步

    • 给函数添加额外参数——this;
    • 将对每一个nonstaitc data member的存取操作改为this指针来存取;
    • 将member function 重写成一个外部函数。对函数名采用mangling 处理,使之成为独一无二的语汇;

    可见,成员函数实现最重要的一步是引入了this指针
    当调用成员函数时,会将当前对象的this指针当做传入成员函数,(加一个隐性参数this),成员函数通过这个this指针来对对象的data member进行存取。

    注:静态成员函数无法使用this指针,应为静态成员函数是"class specific"的,类独有一份,并不会(也不需要)将对象的地址传给它

    相关文章

      网友评论

          本文标题:c++ this指针

          本文链接:https://www.haomeiwen.com/subject/nawaektx.html