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。
相关推荐
LiLiYuan.9 小时前
【happens-before 八大规则详解】
java·开发语言
断点之下9 小时前
从C的struct到C++的class:封装、this指针、三大特性入门
开发语言·c++
yongui478349 小时前
基于稀疏低秩分解的图像去噪MATLAB实现
开发语言·matlab
誰能久伴不乏9 小时前
工业级 Modbus 上位机架构:基于滴答引擎与状态锁的高并发调度器
c++·qt·架构
geovindu9 小时前
python: N-Barrier Pattern
开发语言·python·设计模式·屏障模式
战族狼魂9 小时前
MetaPrompt编译器核心逻辑拆解
开发语言·人工智能·python
gihigo19989 小时前
MATLAB实现光谱特征波长提取
开发语言·matlab
代钦塔拉9 小时前
Qt信号槽参数类型全解:原生类型、结构体、enum class强枚举注册与传参实战
开发语言·qt
谷谷地图下载器9 小时前
全球、台湾省的无水印·街景数据(离线数据),专为可视化项目定制,支持国产化
javascript·c++·3d·arcgis·sqlite
dinl_vin9 小时前
Python 并发编程实战:多线程、协程与多进程全解析
开发语言·人工智能·python