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

news/2025/1/9 11:20:07/

定义

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

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

作用

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

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

示例:

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

2. 支持方法链调用

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

示例:

#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

http://www.ppmy.cn/news/1561265.html

相关文章

SVN简单使用教程

诸神缄默不语-个人CSDN博文目录 SVN是一个版本控制系统&#xff0c;用于多人协同开发代码时管理代码版本。这样方便写砸了以后恢复代码。 SVN是集中式的&#xff0c;适合比较传统的公司进行软件开发时使用&#xff0c;方便管理代码权限。 个人的话一般还是使用Git&#xff0c;…

小程序学习06——uniapp组件常规引入和easycom引入语法

目录 一 组件注册 1.1 组件全局注册 1.2 组件全局引入 1.3 组件局部引入 页面引入组件方式 1.3.1 传统vue规范&#xff1a; 1.3.2 通过uni-app的easycom 二 组件的类型 2.1 基础组件列表 一 组件注册 1.1 组件全局注册 &#xff08;a&#xff09;新建compoents文件…

【2025最新计算机毕业设计】基于SpringBoot+Vue教研听课管理系统(高质量源码,提供文档,免费部署到本地)

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

Bash语言的函数实现

Bash语言的函数实现 引言 Bash&#xff08;Bourne Again SHell&#xff09;是一种在Unix和类Unix系统中广泛使用的命令行解释器。它不仅作为命令行工具使用&#xff0c;同时也被广泛应用于自动化脚本的编写。通过Bash&#xff0c;用户可以创建复杂的脚本&#xff0c;以执行一…

Golang学习笔记_17——方法

Golang学习笔记_14——切片 Golang学习笔记_15——range Golang学习笔记_16——Map 文章目录 方法1. 介绍2. 定义3. 值接收者和指针接收者4. 调用5. 用途6. 方法与函数的区别7. 建议选择指针作为接收者 源码 方法 Go 没有类。不过你可以为类型定义方法。 方法就是一类带特殊的…

gesp(C++四级)(3)洛谷:B3850:[GESP202306 四级] 幸运数

gesp(C四级)&#xff08;3&#xff09;洛谷&#xff1a;B3850&#xff1a;[GESP202306 四级] 幸运数 题目描述 小明发明了一种 “幸运数”。一个正整数&#xff0c;其偶数位不变&#xff08;个位为第 1 1 1 位&#xff0c;十位为第 2 2 2 位&#xff0c;以此类推&#xff09…

Excel-vlookup 函数使用

3个函数&#xff1a; 1. vlookup函数&#xff0c;对应查找 2.column函数&#xff0c;计算列 3.countif函数&#xff0c;查找总数 4.concat函数&#xff0c;连接。 一、简单vlookup&#xff0c;查找值只出现一次 VLOOKUP(B2,F:G,2,FALSE) B2&#xff0c;查找值&#xff0c;…

学习笔记 --C#基础其他知识点(数据结构)

C#中的数据结构《二》–视频学习笔记 在数据结构的分类&#xff1a; 1.集合 2.线性 3.树形 4.图状结构 数据结构是数据在程序中的存储结构&#xff0c;和基本的数据操作 算法&#xff1a;解决问题的解决思路&#xff0c;基于数据结构 本课程包括&#xff1a;线性表&#xff…