C++的this指针的作用,是如何实现的?

在C++中,this 指针是一个指向当前对象的指针,它是成员函数的隐含参数。

this 指针的主要作用是允许在一个类的成员函数中访问调用这个函数的对象的地址。

图片[1]-C++的this指针的作用,是如何实现的?-不念博客

特点:

  • 隐含参数:在每个成员函数内部,编译器都会自动地传递一个额外的参数,即 this 指针,作为函数的隐含参数。这个指针指向调用该函数的对象。
  • 指向当前对象:this 指针指向调用成员函数的对象,使得成员函数能够访问调用对象的成员变量和其他成员函数。
  • 生命周期:this 指针的生命周期与成员函数的调用周期相同。当成员函数被调用时,this 指针被创建;当函数执行结束后,this 指针也随之销毁。
  • 用法:通常,this 指针在成员函数中用于解决成员变量与局部变量之间的歧义。如果成员变量和局部变量同名,可以使用 this 指针来明确地访问成员变量。

简单例子:

#include <iostream>

class MyClass {
public:
    void printAddress() {
        std::cout << "Object address: " << this << std::endl;
    }
};

int main() {
    MyClass obj1;
    MyClass obj2;

    obj1.printAddress();
    obj2.printAddress();

    return 0;
}
© 版权声明
THE END