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

前端之家收集整理的这篇文章主要介绍了c – 有人能用简单的英语解释智能指针吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
今天我被问到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++相关文章