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。
相关推荐
近津薪荼2 分钟前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck4 分钟前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl
_F_y9 分钟前
C++重点知识总结
java·jvm·c++
java干货18 分钟前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序
开发语言·python·算法
_F_y18 分钟前
C语言重点知识总结(含KMP详细讲解)
c语言·开发语言
毕设源码-郭学长19 分钟前
【开题答辩全过程】以 基于python的二手房数据分析与可视化为例,包含答辩的问题和答案
开发语言·python·数据分析
无小道42 分钟前
Qt——常用控件
开发语言·qt
aini_lovee1 小时前
MATLAB基于小波技术的图像融合实现
开发语言·人工智能·matlab
R1nG8631 小时前
多线程安全设计 CANN Runtime关键数据结构的锁优化
开发语言·cann
初次见面我叫泰隆1 小时前
Qt——5、Qt系统相关
开发语言·qt·客户端开发