c++速学教程(入门到精通)
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
智能指针是 c++++ 中的工具,通过自动管理内存释放来解决内存管理问题。常用的智能指针类型有:unique_ptr:独占所有权,销毁时释放指向的对象。shared_ptr:共享所有权,引用计数跟踪指针数量,最后一个指针销毁时释放对象。weak_ptr:弱引用,不会增加对象生命周期,只能与 shared_ptr 结合使用。
C++ 智能指针:指针的进化,解决内存问题的良药
智能指针是 C++ 中强大的工具,它通过自动管理内存释放来帮助解决内存泄漏和野指针等问题。与传统指针相比,智能指针更加安全和高效,让程序员可以专注于编写业务逻辑,而无需担心内存管理的繁琐细节。
unique_ptr
shared_ptr
weak_ptr
假设我们有一个 Person
类,它表示一个人。我们的目标是创建一个存储 Person
对象的向量,并确保当向量超出了作用域时,内存会被自动释放。
#include <iostream> #include <vector> #include <memory> class Person { public: Person(const std::string& name) : name(name) {} ~Person() { std::cout > people; // 添加几个 Person 对象 people.push_back(std::make_shared<person>("John")); people.push_back(std::make_shared<person>("Mary")); people.push_back(std::make_shared<person>("Bob")); // 遍历并打印名称 for (const auto& person : people) { std::cout name <p>输出:</p><pre class="brush:php;toolbar:false;">John Mary Bob Destructor called for John Destructor called for Mary Destructor called for Bob
在示例中,我们使用 std::shared_ptr<person></person>
来存储 Person
对象的指针。当 people
向量超出作用域销毁时,智能指针也会随之销毁。这将自动释放 Person
对象占用的内存,防止内存泄漏。
C++免费学习笔记(深入):立即学习
>在学习笔记中,你将探索 C++ 的入门与实战技巧!
已抢7199个
抢已抢94716个
抢已抢14816个
抢已抢52062个
抢已抢194620个
抢已抢87259个
抢