

新闻资讯
技术学院this指针是C++中每个非静态成员函数隐式拥有的指向调用对象的指针;必须显式使用this->的场景包括:①参数与成员变量同名需消歧义,②需获取当前对象地址。
this指针是C++中每个非静态成员函数自动拥有的一个隐式指针,它指向调用该函数的那个对象实例。比如有Person p;,当执行p.setName("Alice")时,setName内部的this就等于&p。它不是对象数据的一部分,所以sizeof(Pe
rson)不包含它。
两种典型场景需要你主动写出this->:
让成员函数返回*this(即当前对象的引用),就能连续调用多个函数:
在加了const修饰的成员函数末尾(如int getAge() const),this的类型会变成const ClassName*,意味着你不能通过它修改成员变量——这是编译器强制的保护机制。如果函数里既要读又要写成员,就不能加const;如果只读,加上它能让函数被常量对象调用,也更清晰表达意图。