0
点赞
收藏
分享

微信扫一扫

第三十七课 智能指针

科牛 2022-05-04 阅读 196

第三十七课 智能指针

文章目录

一、问题

  • 内存泄漏

    动态申请堆空间,用完不归还

    C++ 语言中没有垃圾回收机制

    指针无法控制所指堆空间的声明周期

  • 解决方法

    需要一个特殊指针

    指针生命周期结束时主动释放堆空间

    一片堆空间最多只能由一个指针标识符

    杜绝指针运算和指针比较

  • 解决方案

    重载指针特征操作符("->"和 “*”)

    只能通过类的成员函数重载

    重载函数不能使用参数

    只能定义一个重载函数

  • 智能指针有点

    能够自动收回内存

二、智能指针的使用规定

只能用来指向堆空间的对象或者变量

三、小结

  • 指针特征操作符(“->” 和 “*”)可以被重载
  • 重载指针特征符能够使用对象代替指针
  • 智能指针只能用于指向对空间中的内存
  • 智能指针的意义在于最大程度的避免内存问题
举报

相关推荐

0 条评论