`std::shared_ptr` 是一种基于引用计数的智能指针,多个 `shared_ptr` 实例可共享同一块动态内存;仅当最后一个 `shared_ptr` 被销毁时,所管理的对象才会被自动释放。它能有效避免内存泄漏,实现资源的自动管理。本文将详细介绍 `shared_ptr` 的创建方式、常用构造方法及其基本使用技巧,帮助开发者安全、高效地管理堆内存。
1、 声明std::shared_ptr变量时,应一并完成对象的初始化。
2、 调用std::shared_ptr的get()方法获取原始指针,并输出该指针所指向对象的信息。
3、 创建`std::shared_ptr`变量时,应通过另一个`std::shared_ptr`对象进行初始化,以实现共享所有权和自动内存管理。
4、 输出结果显示,新创建的std::shared_ptr对象与原对象所指向的内容完全相同。
5、 通过调用make_share函数为std::shared_ptr分配内存并完成初始化。
6、 直接访问std::shared_ptr变量,即可获取并输出其所指向的对象内容。
7、 `std::shared_ptr` 支持管理数组,但必须显式指定适配的删除器。
8、 使用strcpy函数向std::shared_ptr管理的数组赋值后,程序可正确输出预期内容,中红色箭头所指位置所示。
评论
更多评论