C++ this指针用法-待补充
访问成员变量和成员函数
当局部变量的名称与成员变量的名称相同时,可以使用 this 指针来区分它们。通过 this->成员名 的方式,可以明确地访问对象的成员。
比如
class Example {
public:
int value;
void set_value(int value) {
this->value = value; // 使用 this 指针区分成员变量和局部变量
}
};
在提供的 Example 类中,set_value 函数演示了如何使用 this 指针来区分成员变量和局部变量:
成员变量:在这个例子中,value(this->value)是一个成员变量。它是Example类的一部分,定义在类的声明中。每个Example类的对象都有自己的value成员变量副本。通过this->value访问的是这个特定对象的value成员变量。
局部变量:另一方面,函数set_value的参数value是一个局部变量。它只在set_value函数的作用域内可见和存在。这个参数是函数被调用时传递给函数的值的一个临时副本。
当set_value函数内部使用value时,它直接引用的是这个局部变量,即函数参数。而this->value则明确指代调用对象的成员变量value。这种方式解决了名字冲突的问题,使得函数可以区分并正确地将传入的参数值赋给对象的成员变量。