滴水 1.c++类 this指针 笔记+指针
1.结构体带参数传递
将结构体的数据压入堆栈中
然后进入函数内进行处理
2.结构体指针传递
将this指针压入进去 来查找 a b数据
3、函数可以放在结构体里面,也可以放在结构体外面
放入进去后 但是我们打印出的大小还是8字节 证明函数不占结构体的内存大小
汇编中压入了两次参数
一次给函数的参数 一次就是默认传递 哪怕没有参数也会压入
我们函数没有参数时,也会压入,那个便是this 指针‘
总结
1、将函数定义到结构体内部,就是封装.
2、编译器会自动传递结构体的指针给函数.
带有函数的结构体,称为类.
结构体里面的函数,称为成员函数.
什么是this指针
this指针的特点:
1、你用或者不用,它就在那里
2、参数个数确定的时候,用ecx来传递
3、参数个数不确定的时候,最后一个传递(参见不定长参数)
作业
1.
1、设计一个结构体,有两个Int类型的成员X,Y 在结构体内部定义4个函数实现对X Y的加法功能. struct scalss { int a; int n; int add() { return (*(int*)this); } };
2.
参数传递不同
3.空结构体大小
c++ 1
c0
4.
本文来自博客园,作者:逆向狗,转载请注明原文链接:https://www.cnblogs.com/Agtw/p/16920258.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!