c++的this指针

this指针是c++类中的概念,this英文翻译是这,这个,其实在类中就是这个意思。

this指针的使用

this指针主要用于类中的非静态成员方法,在这些方法中,this指针就指向当前调用此方法的这个对象。

1. this的使用场景一: 当有参构造函数的参数名和类中成员变量名相同

复制代码
Human::Human(int age, string name) {
	this->age = age;
	this->name = name;
}

this 指向的是当前调用此函数的对象,那么this->age ,就表示访问当前对象的成员变量age,这样就能区分开参数age和成员变量age。

**2. this的使用场景二:**当我们需要返回当前对象的时候

复制代码
Human& Human::operator=(Human &man) {
	// 进行一系列赋值操作

	return *this; // 返回当前对象
}

Human* Human::operator=(Human &man) {
	// 进行一系列赋值操作

	return this; // 返回当前对象
}

这段代码是类中的赋值构造函数(当然还有其它的使用场景,此处只是举个例子),我们为了实现能够连续赋值的情况 (man=man1=man2)--不懂的话请看构造参数中的赋值构造参数那一块,需要返回当前对象。

1)如果为引用返回:那就返回对象本身,即*this。

  1. 如果为指针返回: 那就返回对象地址,即this。
相关推荐
sycmancia5 分钟前
Qt——复习篇painter
开发语言·qt
旖旎夜光7 分钟前
LeetCode 738:单调递增的数字(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
赵钰老师8 分钟前
R语言数据统计分析与ggplot2高级绘图
开发语言·数据分析·r语言
旖旎夜光16 分钟前
LeetCode 1262:可被三整除的最大和 (贪心算法)—— 题解
数据结构·c++·算法·leetcode·贪心算法
多弗朗皮卡丘34 分钟前
C语言梦开始的地方3
c语言·开发语言
Bonnie_12151 小时前
08-JUC并发基础-AQS-补充共享锁
java·开发语言
qq_401700411 小时前
Qt 程序启动太乱?重新设计你的 Application 生命周期
开发语言·qt
蒸蒸yyyyzwd1 小时前
cpp 选手转 ai infra 后端秋招学习笔记 day1
c++·transformer
A_cainiao_A1 小时前
【ggml系列】【第四篇】ggml_graph_compute 多线程计算引擎与算子分发源码深度解析
开发语言·c++·矩阵
90后小陈老师1 小时前
从“打开就卡“到“秒开“:一次 PHP GD 动态海报生成的性能优化实战
开发语言·性能优化·php