1、指针和结构体
1、结构体定义在反汇编代码中不显示的原因
结构体实际上是自定义的数据类型,相当于内置数据类型,编译器会维护一张表,而程序中不会有结构体定义的代码

2、访问结构体的变量实际上是利用地址的偏移,类似于数组,但结构体的偏移量不确定

3、求结构体大小时与数据类型相加后的值不同的原因:内存对齐问题,不同操作系统的内存对齐方式也不同
2、注意指针安全
栈区中指针会释放
1、指针已经没有了,但内存空间没有释放
2、内存空间释放了,但是指针还有
可以使用智能指针来避免安全问题,唯一智能指针或共享智能指针
本文探讨了结构体的底层实现、如何通过地址偏移访问结构体变量、内存对齐导致的结构体大小差异,以及在处理栈区指针安全时的注意事项,强调了智能指针在防止内存泄漏中的作用。
1万+

被折叠的 条评论
为什么被折叠?



