C++ 智能指针
为了更安全地使用动态对象,标准库定义了两个只能指针类型来管理动态分配的对象当一个对象应该被释放时,指向它的智能指针可以确保自动地把它释放。
理论上来说,一共有三个类型:
shared_ptr
unique_ptr
weak_ptr
本文主要介绍shared_ptr和weak_ptr。
简介
shared_ptr允许多个指针指向同一个对象。
unique_ptr则“独占”所指向的对象。
weak_ptr是一个弱引用,指向由shared_ptr管理的对象,但是不改变引用计数
shared_ptr
首先要介绍make_shared()函数,顾名思义就是在动态内存中分配一个对象,并返回shared_ptr,说白了就是让一段动态内存让shared_ptr去管理,使用的时候对特定类型构造时必须与其构造函数相匹配,例如:
shared_ptr<int> p = make_shared<int>(1);
shared_ptr允许多个指针指向同一个对象,并且还有一个与之关联的引用计数

C++智能指针用于更安全地管理动态分配的对象,防止内存泄漏。本文重点讨论shared_ptr和weak_ptr。shared_ptr允许多个指针共享同一对象,自动管理引用计数,适用于参数传递和函数返回。而weak_ptr是一个弱引用,不改变引用计数,用于解决shared_ptr的循环引用问题。
最低0.47元/天 解锁文章
1210

被折叠的 条评论
为什么被折叠?



