C++11新特性之智能指针
智能指针的特性
智能指针可以自动释放不再使用的内存,能够有效的防止内存泄漏。智能指针是一个对象,普通指针是一个变量。智能指针是对普通指针的封装,其安全性要高于直接使用普通指针。
智能指针的分类
共享的智能指针shared_ptr shared_ptr多个指针指向相同的对象。 每一个shared_ptr的拷贝都指向相同的内存。 shared_ptr使用引用计数,不再被引用时,自动删除所指向的堆内存。独占的智能指针unique_ptr 同一时刻只能有一个unique_ptr指向给定对象。 离开作用域时,若其指向对象,则将其所指对象销毁。弱引用的智能指针weak_ptr weak_ptr可以从一个shared_ptr或者另一个weak_ptr对象构造,获得资源的观测权,但不能操作shared_ptr指向的内容。 使用weak_ptr的成员函数use_count()可以观测资源的引用计数。 weak_ptr可以使用
C++11新特性之智能指针最先出现在Python成神之路。
共有 0 条评论