c – 有人能用简单的英语解释智能指针吗?

c – 有人能用简单的英语解释智能指针吗?,第1张

概述今天我被问到C中的智能指针,我找不到任何关于它的有用信息.. 请有人告诉我: 什么是智能指针? 你什么时候需要它? 你有任何智能指针实际有用的例子吗? 谢谢! 智能指针主要帮助您: >抛出异常时避免泄漏.抛出异常时,您不希望泄漏try块中先前分配的任何对象.通过将它们包装在智能指针中,当退出try块时它们将被销毁,这些对象将被正确销毁. >通过引用计数所有者到对象来管理生命周期(即,最后一个销毁其 今天我被问到C中的智能指针,我找不到任何关于它的有用信息..

请有人告诉我:
什么是智能指针?
你什么时候需要它?
你有任何智能指针实际有用的例子吗?

谢谢!

解决方法 智能指针主要帮助您:

>抛出异常时避免泄漏.抛出异常时,您不希望泄漏try块中先前分配的任何对象.通过将它们包装在智能指针中,当退出try块时它们将被销毁,这些对象将被正确销毁.
>通过引用计数所有者到对象来管理生命周期(即,最后一个销毁其引用特定对象的智能指针实际上释放对象).这在松散耦合的场景中尤其有用,在这种场景中,不清楚对象应该在何时被销毁,因为对象的用户彼此不了解.

智能指针有用的一个很好的例子:

A vector of pointers to objects. By making it a vector of shared pointers,for example,the objects will automatically be deallocated when the vector is destroyed and/or objects are removed. This automates object lifetime management and helps the user of the container avoID memory leaks.

总结

以上是内存溢出为你收集整理的c – 有人能用简单的英语解释智能指针吗?全部内容,希望文章能够帮你解决c – 有人能用简单的英语解释智能指针吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1242599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存