C++ this指针(八股总结)

定义

this 指针是一个隐含于每一个非静态成员函数中的特殊指针。它指向调用该成员函数的那个对象。

当对一个对象调用成员函数时,编译程序先将对象的地址赋给 this 指针,然后调用成员函数,每次成员函数存取数据成员时,都隐式使用 this 指针。

作用

1.解决成员变量与函数参数同名的问题

当成员变量和函数参数同名时,可以用 this 指针来区分。

示例:

c++ 复制代码
class Example {
private:
    int value;

public:
    void setValue(int value) {
        this->value = value; // 使用 this 区分成员变量和参数
    }

2. 支持方法链调用

通过返回 *thisthis,可以支持链式调用(method chaining)。

示例:

c++ 复制代码
#include <iostream>
using namespace std;

class Example {
private:
    int value;

public:
    Example& setValue(int v) {
        value = v;
        return *this; // 返回当前对象的引用
    }

    Example& increment() {
        value++;
        return *this; // 返回当前对象的引用
    }

    void display() {
        cout << "Value: " << value << endl;
    }
};

int main() {
    Example obj;
    obj.setValue(10).increment().display(); // 链式调用
    return 0;
}

输出:

复制代码
Value: 11
相关推荐
运维行者_3 分钟前
如何查看每个IP的带宽使用情况?NetFlow 技术实战指南
开发语言·网络·分布式·后端·架构·带宽
天天进步201522 分钟前
Python全栈项目--基于深度学习的图像超分辨率系统
开发语言·python·深度学习
WWTYYDS_66637 分钟前
JsonCpp超详细使用教程
c++
Joey_friends1 小时前
指纹authenticate流程图
android·java·c++
小小晓.1 小时前
C++小白记:C风格字符串和数组用法
c语言·开发语言·c++
Helen_cai1 小时前
OpenHarmony 项目统一全局样式、尺寸、色彩主题封装 ThemeUtil(API23)
开发语言·前端·javascript·华为·harmonyos
郑州光合科技余经理1 小时前
家政O2O平台解析:从0搭建上门预约小程序解决方案
android·java·开发语言·前端·小程序·架构·php
cpp_25011 小时前
P1540 [NOIP 2010 提高组] 机器翻译
数据结构·c++·算法·队列·noip·洛谷题解
深念Y1 小时前
开发者如何清理和迁移C盘堆积的垃圾
c语言·开发语言
2501_909509102 小时前
DAY 28
开发语言·python