C++中this指针【用法】
·
在C/C++中耳熟能详的一句话是“指针就是地址”,this指针也是如此。谁调用就指向谁,比如Cat类有2个对象分别为cat1和cat2,cat1调用则this指针的地址就是cat1的地址。代码如下。
#include <iostream>
using namespace std;
class Cat {
public:
Cat* get_address() //获取this的地址
{
return this;
}
Cat() {}
~Cat() {}
};
int main() {
Cat cat1;
Cat cat2;
// 先打印cat1和cat2的地址
cout << "cat1 addr:" << &cat1 << "\t";
cout << "cat2 addr:" << &cat2 << endl;
// 不同的对象调用get_address()函数将返回不同的地址
Cat* p = cat1.get_address();
cout << "cat1 return 'this addr':" << p << endl;
p = cat2.get_address();
cout << "cat2 return 'this addr':" << p << endl;
return 0;
}

总结:
在 C++ 中,this 指针是一个特殊的指针,它指向当前对象的实例。
在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。
this是一个隐藏的指针,可以在类的成员函数中使用,它可以用来指向调用对象。
当一个对象的成员函数被调用时,编译器会隐式地传递该对象的地址作为 this 指针。
友元函数没有 this 指针,因为友元不是类的成员,只有成员函数才有 this 指针。
更多推荐




所有评论(0)