news 2026/4/15 9:02:33

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/4/5 17:56:00

零基础入门:5分钟创建你的第一个AI工作流

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向新手的可视化AI工作流构建器,提供预设的常见自动化任务模板(如邮件处理、数据整理等)。用户可以通过拖拽方式组合各种AI功能模块&a…

作者头像 李华
网站建设 2026/3/25 6:18:14

美食探店推荐系统:GLM-4.6V-Flash-WEB识别餐厅环境与菜品品质

美食探店推荐系统:GLM-4.6V-Flash-WEB识别餐厅环境与菜品品质 在短视频和社交分享主导消费决策的今天,一张“出片率高”的餐厅照片,可能比千字点评更具影响力。但问题也随之而来——滤镜拉满的牛排、盗用的网红摆盘、过度美化的灯光&#xff…

作者头像 李华
网站建设 2026/4/10 20:47:29

理解print driver host for 32bit applications在打印管道中的角色定位

32位应用如何在64位Windows上“无缝”打印?揭秘splwow64.exe的幕后角色你有没有遇到过这样的场景:公司刚升级到 Windows 10 x64,但那套用了十年的老财务系统却突然打不了票了?或者你在用32位版的AutoCAD画图时,点一下“…

作者头像 李华
网站建设 2026/4/11 6:52:33

XADC IP核硬件驱动与AXI总线交互机制全面讲解

XADC IP核驱动与AXI总线交互:从寄存器配置到实时数据流的完整链路解析在现代FPGA系统中,模拟信号采集早已不再是“外接ADC SPI读数”的简单逻辑。随着Zynq、Kintex等系列器件将高精度模数转换能力原生集成,XADC(Xilinx Analog-to…

作者头像 李华
网站建设 2026/4/13 9:46:31

低压放大器设计项目应用:实战解析节能电路方案

低压放大器实战设计:如何打造高能效模拟前端?在物联网和可穿戴设备爆发的今天,电池寿命几乎成了衡量产品成败的关键指标。我们常常看到这样的场景:一个温湿度传感器节点部署后不到半年就电量耗尽,维护成本飙升&#xf…

作者头像 李华
网站建设 2026/4/9 7:50:31

化妆品成分表解析:GLM-4.6V-Flash-WEB提醒过敏原风险

化妆品成分表解析:GLM-4.6V-Flash-WEB如何智能识别过敏原风险 你有没有过这样的经历?站在超市货架前,手里拿着一款心仪的护肤品,翻来覆去地看包装背面那密密麻麻的成分表,却完全看不懂“Phenoxyethanol”是不是对敏感肌…

作者头像 李华