【C++/嵌入式梳理】一、24.智能指针 | 其他

本文介绍了C++中的智能指针,包括其原理、作用和常见类型如shared_ptr、unique_ptr、weak_ptr。智能指针通过引用计数自动管理内存,防止内存泄漏和空指针问题。文章还探讨了智能指针的循环引用问题及其解决方案,并提到了使用RAII原则管理资源的重要性。此外,还讨论了指针占用的内存大小和指针加减运算的注意事项。

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

智能指针

43.C++中的智能指针是什么?❤️

C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,C++11中引入了智能指针的概念,使用智能指针能更好的管理堆内存。

**原理:**智能指针是一种类模板,用来存储指针(指向动态分配对象的指针)。智能指针通过使用引用计数技术来跟踪一个指针被多少个其他指针共享,这样当没有任何指针引用某个对象时,就可以自动释放该对象所占用的内存。

**作用:**它用于自动管理内存,以避免常见的空指针、悬垂指针和内存泄漏问题。还可以提高代码的可读性和可维护性。

44.智能指针的实现

手写实现智能指针类需要实现哪些函数?

智能指针是一个数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值