news 2026/6/15 21:35:06

this指针

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
this指针

一、概念是链式编程(Method Chaining)的核心概念

二、例子详解

Person&PersonAddAge(Person &p) {this->age+=p.age; //this指回p2的指针,而*this指回的就是p2这个对象本体 return*this;}

为什么需要返回引用?

1.效率考虑

  • 返回引用:不创建新对象,直接操作原对象

  • 返回值:会创建临时副本(拷贝构造),效率低

2.支持链式调用

// 如果不返回引用,而是返回值: Person PersonAddAge(Person &p) { this->age += p.age; return *this; // 返回的是副本! } p2.PersonAddAge(p1).PersonAddAge(p3); // 第二次调用是在临时对象上,不是原来的p2!

3.差别:

1)void版本的函数

void PersonAddAge(Person &p) { this->age += p.age; // 只能执行一次操作,不能连续调用 }

使用方式:

p2.PersonAddAge(p1); // 执行完就结束了 p2.PersonAddAge(p3); // 需要再写一行

2)Person&版本的函数

Person& PersonAddAge(Person &p) { this->age += p.age; return *this; // 返回对象本身的引用 }
使用方式(链式调用):
p2.PersonAddAge(p1).PersonAddAge(p3).PersonAddAge(p4); // 可以连续调用,从左到右执行

三、总结

返回类型特点能否链式调用
void只执行操作❌ 不能
Person返回副本⚠️ 可以但操作的是副本
Person&返回自身引用✅ 可以且操作原对象

关键点:

  • 返回引用是为了操作原对象,不是创建新对象

  • 链式编程让代码更简洁、可读

  • *this返回的是当前对象的引用

  • 这是面向对象编程中常见的设计模式

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 21:44:42

单层锚点图哈希(One-Layer Anchor Graph Hashing)训练函数实现详解

锚点图哈希(Anchor Graph Hashing,AGH)是一种高效的无监督哈希算法,专为大规模数据设计。它巧妙地使用少量锚点来近似构建数据的图拉普拉斯矩阵,避免了传统谱哈希方法中构造完整 nn 相似度图的巨大开销,从而将时间和内存复杂度从 O(n) 降到 O(n)。单层 AGH 在保持高精度的…

作者头像 李华
网站建设 2026/6/11 21:01:10

为什么B+树比二叉树快10倍?效率对比实测

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个性能对比测试程序,比较B树、B树和二叉搜索树在不同数据规模下的性能。要求:1. 实现三种树结构的完整代码 2. 设计自动化测试框架 3. 测试插入、删除…

作者头像 李华
网站建设 2026/6/4 21:27:08

AI如何帮你快速掌握Linux TOP命令

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式TOP命令学习工具,能够根据用户输入的系统性能问题(如CPU占用高、内存不足等),自动生成对应的TOP命令参数组合&#x…

作者头像 李华
网站建设 2026/6/15 15:04:52

MyFileUnlocker

链接:https://pan.quark.cn/s/409f77bd1789ThisIsMyFile是一款专为Windows系统设计的旨在解决用户在使用过程中遇到的无法删除的文件问题。无论是被其他程序占用的文件,还是由于权限问题无法处理的文件,这款小巧而强大的软件都能轻松应对。Th…

作者头像 李华
网站建设 2026/6/15 18:00:19

DDColor本地老照片上色工具

链接:https://pan.quark.cn/s/34e2de0526df这款由阿里达摩院研发的 DDColor 图像上色模型核心优势大厂技术背书:基于先进深度学习算法,智能分析图像内容,黑白 / 灰度照片上色自然逼真,还原真实色彩质感 纯本地运行&…

作者头像 李华
网站建设 2026/6/11 23:47:14

GLM-4.6V-Flash-WEB在医疗影像辅助解读中的应用设想

GLM-4.6V-Flash-WEB在医疗影像辅助解读中的应用设想 在基层医院的放射科,一位值班医生正面对着堆积如山的CT片子。夜班时间紧、任务重,而每一个肺结节、每一条骨折线都可能关乎患者的生命走向。传统的影像判读高度依赖经验,资源分布不均导致…

作者头像 李华