新闻详情

新闻详情

首页 / 资讯中心 / 详情

C++:this指针以及C与C++分别实现Stack的区别

发布时间:2026/9/29 18:11:39来源:尧图网络
C++:this指针以及C与C++分别实现Stack的区别
1.this 指针成员函数为什么知道自己操作的是谁首先看下面一段代码Date d1; Date d2; d1.Print(); d2.Print();问题来了。Print()只有一份代码。那么调用d1.Print();时它怎么知道自己应该打印d1调用d2.Print();时又怎么知道应该操作d2答案就是this指针文件将成员函数在概念上解释成类似void Init(Date* const this, int year, int month, int day);虽然我们自己不能把this显式写到形参中但是编译器会隐式处理。于是_year year;本质上可以理解成this-_year year;比如Date d1; d1.Init(2026, 9, 26);可以帮助理解成把 d1 的地址交给 Init this → d1因此函数里面this-_year就是d1._year如果Date d2; d2.Init(...);那this → d22.this 本质上解决了一个什么问题可以把前面的内容串起来。三个对象Date d1; Date d2; Date d3;共享同一套成员函数代码。但是每次调用的时候d1.Print() → this 指向 d1 d2.Print() → this 指向 d2 d3.Print() → this 指向 d3所以成员函数共享成员数据独立而 this 指针负责把函数和当前操作对象联系起来。3.为什么 C 的 Stack 看起来比 C 更“面向对象”C 语言通常是Stack st; Init(st); Push(st, 10); Destroy(st);你需要不断把st传给函数。而 C 可以变成Stack st; st.Init(); st.Push(10); st.Destroy();为什么不需要Push(st, 10);因为this已经隐式把当前对象传过去了。同时 C 还把数据和对应操作放进同一个类通过访问限定符限制外部随意修改内部数据。文件把这看作封装带来的重要变化。所以 C 的变化不仅是语法变好看了更重要的是数据 操作数据的方法被组织成了一个整体
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Flutter鸿蒙跨平台开发:StreamBuilder响应式实战与调优 2026/9/29 18:11:34

Flutter鸿蒙跨平台开发:StreamBuilder响应式实战与调优

前阵子带团队把一款工具型App从Android/iOS迁移到鸿蒙平台,Flutter 跨平台框架依然是我的首选。整体迁移过程比预想顺利,但真正让我“卡”了几天的不是路由、不是插件适配,而是一个平时不太起眼的控件——StreamBuilder。它在处理实时数据更新…

阅读更多 →
WorkBuddy+DeepSeek+微信:搭建十点半自动AI日报 2026/9/29 18:11:34

WorkBuddy+DeepSeek+微信:搭建十点半自动AI日报

1. 为什么我要给 WorkBuddy 装一个“十点半闹钟”每天早上到工位,第一件事不是泡茶,而是打开几个信息源,把昨天夜里到今早的行业动态、项目进展、待办提醒翻一遍。这件事本身不复杂,但极其消耗注意力——你刚坐下,脑子…

阅读更多 →
Jev模型类型安全接入实战:从密钥配置到工具调用 2026/9/29 18:11:34

Jev模型类型安全接入实战:从密钥配置到工具调用

1. 这个模型为什么突然全网刷屏Jev 模型开放的消息,我是在一个开发者群里看到的。当时群里有人甩了一张截图,说“TypeSafe AI 把 Jev 放出来了”,底下立刻炸出一堆人问“真的假的”“在哪申请”“API 怎么调”。我第一反应是先去官网转了一圈…

阅读更多 →
OpenTelemetry落地Node.js:从零搭建统一可观测性监控方案 2026/9/29 18:11:28

OpenTelemetry落地Node.js:从零搭建统一可观测性监控方案

做后端开发这些年,我一直觉得Node.js应用的监控是个挺折磨人的事。单线程事件循环、海量异步回调、第三方依赖一拉一大把,线上出问题的时候日志翻半天也拼不出完整链路。后来在几个生产项目里把OpenTelemetry真正落地到了Node.js服务上,从tra…

阅读更多 →
Java常用类函数题通关指南:String、StringBuilder与包装类避坑解析 2026/9/29 18:11:28

Java常用类函数题通关指南:String、StringBuilder与包装类避坑解析

OJ题目列表里躺着“sdut-Java面向对象-10 常用类(函数题)”这种题目时,很多人的第一反应是:函数题,补个方法而已,总比写完整程序简单吧?等你连着吃了几发“编译错误”和“答案错误”之后&#x…

阅读更多 →
Java List从入门到进阶:ArrayList、源码机制与并发容器实战 2026/9/29 18:11:28

Java List从入门到进阶:ArrayList、源码机制与并发容器实战

1. List不是"一个类",是三个实现撑起的容器江湖很多初学者学了List之后,会觉得它就是ArrayList的别名,底下一个数组,查得快、插得慢,完事。但真正被业务代码毒打、被面试官追问之后,你才会意识到…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉