智能指针的实现----C++练手项目

  1.学习C++过程中,总会去思考,怎么才能去提高自己的编程水平,毕竟,我是个菜鸟,我需要去练习来维持我的学习状态。

正如古人所说的,纸上谈兵。我觉得纸上谈兵也是一种很厉害的东西,但是我是个菜鸟,还没能达到纸上谈兵的阶段。所以

按照知乎上所说的,平常多看代码,每天,保持练习,才能入门C++。

  2.听从前人的经验,刚开始,没有水平能够自己创造就去抄,应该叫做默写,先理解智能指针是什么?有什么用?怎么实现?

然后,自己理解,最后默写。

  3.什么是智能指针?

概括网上的几种版本,大同小异。

(版本1)智能指针是对指针的一种封装,让它成为一个类,来干指针的功能。

(版本2)智能指针是一种pointer-like class,其中必须有一个真正的指针,通过对类的编写来实现一个指针类。

  4.为什么要有智能指针?

因为在使用普通的指针的时候,我们需要去调用delete来释放内存,如果忘记调用delete的话会造成内存泄露,另外一方面,程序

进入异常进入catch块会忘记释放内存。并且,如果我们多次去释放同一个指针会造成程序奔溃,通过智能指针就能够解决。

  5.在标准库中有哪些智能指针?

auto_ptr (C++2.0版本前) 了解它:

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值