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。
相关推荐
码农阿豪44 分钟前
Python Flask应用中文件处理与异常处理的实践指南
开发语言·python·flask
岁岁种桃花儿44 分钟前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
rainbow68891 小时前
Linux文件描述符与重定向原理
c++
csbysj20201 小时前
AngularJS 模块
开发语言
独好紫罗兰1 小时前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
wuhen_n1 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
不会代码的小测试1 小时前
UI自动化-POM封装
开发语言·python·selenium·自动化
roman_日积跬步-终至千里1 小时前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
lsx2024061 小时前
C++ 基本的输入输出
开发语言
CodeSheep程序羊2 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展