C++指针重点

本文探讨了结构体的底层实现、如何通过地址偏移访问结构体变量、内存对齐导致的结构体大小差异,以及在处理栈区指针安全时的注意事项,强调了智能指针在防止内存泄漏中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、指针和结构体

1、结构体定义在反汇编代码中不显示的原因

结构体实际上是自定义的数据类型,相当于内置数据类型,编译器会维护一张表,而程序中不会有结构体定义的代码

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

3、求结构体大小时与数据类型相加后的值不同的原因:内存对齐问题,不同操作系统的内存对齐方式也不同


2、注意指针安全

栈区中指针会释放

1、指针已经没有了,但内存空间没有释放

2、内存空间释放了,但是指针还有

可以使用智能指针来避免安全问题,唯一智能指针或共享智能指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值