c++智能指针的使用,shared |
您所在的位置:网站首页 › c++智能指针shared_ptr › c++智能指针的使用,shared |
大佬教程收集整理的这篇文章主要介绍了c++智能指针的使用,shared_ptr,unique_ptr,weak_ptr,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
c++智能指针的使用
官方参考 普通指针的烦恼:内存泄漏,多次释放,提前释放 智能指针 负责自动释放所指向的对象。 三种智能指针 shared_ptr,unique_ptr,weak_ptr; 将shared_ptr存放在一个容器中,不再需要它的时候,要erase掉。 allocator负责封装堆内存管理的对象,它们在整个标准库中使用,特别是STL容器使用它们来管理容器内部的所有内存分配,大部份情况下,程序员不用理会,标准容器使用默认的分配器称为std :: allocator。 shared_ptrshared_ptr 多个指针指向相同的对象; 使用引用计数,引用计数是线程安全的,但是对象的读写需要加锁。 不可以直接将指针直接赋值给一个智能指针,因为指针指针是一个类。 get获取原始指针 最大的陷阱就是循环引用,这会导致内存无法正确释放,导致内存泄漏 #include #include #include #include #include struct Base { Base() { std::cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |