迎脾 发表于 2025-9-17 14:03:07

C++ 智能指针

C++ 智能指针(Smart Pointer)是 C++11 引入的用于自动管理动态内存的模板类,其核心作用是通过RAII(资源获取即初始化)机制,在智能指针生命周期结束时自动释放所管理的内存,从而避免传统裸指针(Raw Pointer)可能导致的内存泄漏、重复释放、悬垂指针等问题。
智能指针通过 RAII(Resource Acquisition Is Initialization) idiom 来解决这些问题:

[*]获取资源即初始化:在构造函数中获取资源(分配内存)。
[*]释放资源即析构:在析构函数中自动释放资源。只要智能指针对象超出作用域,无论是因为正常执行还是异常,其析构函数都会被调用,从而保证资源被释放。
所有智能指针都定义在头文件中。
1、std::unique_ptr - 独占所有权指针

std::unique_ptr 是独占式智能指针,其管理的资源只能被一个 unique_ptr 拥有,不允许拷贝(避免多个指针同时管理同一资源),但允许移动(转移所有权)。
1.1 基本用法

#include #include using namespace std;class MyClass {public:    MyClass(int id) : id(id) {      cout

馑妣窟 发表于 2025-10-26 11:07:23

喜欢鼓捣这些软件,现在用得少,谢谢分享!

貊淀 发表于 2025-12-14 11:09:12

这个有用。

昆拗干 发表于 2025-12-20 15:30:13

谢谢分享,辛苦了

士沌 发表于 2025-12-24 22:24:12

感谢分享

颜清华 发表于 2026-1-5 13:04:14

感谢发布原创作品,程序园因你更精彩

莠畅缕 发表于 2026-1-7 19:37:44

感谢发布原创作品,程序园因你更精彩

喳谍 发表于 2026-1-17 19:10:21

感谢分享

松菊 发表于 2026-1-18 07:32:42

谢谢分享,辛苦了

苗嘉惠 发表于 2026-1-18 19:32:00

用心讨论,共获提升!

辅箱肇 发表于 2026-1-19 06:41:15

感谢,下载保存了

轩辕娅童 发表于 2026-1-20 16:49:18

懂技术并乐意极积无私分享的人越来越少。珍惜

涣爹卮 发表于 2026-1-21 16:01:28

喜欢鼓捣这些软件,现在用得少,谢谢分享!

姥恫 发表于 2026-1-23 09:10:18

新版吗?好像是停更了吧。

荡俊屯 发表于 2026-1-26 11:00:22

分享、互助 让互联网精神温暖你我

骆熙华 发表于 2026-1-27 07:21:50

不错,里面软件多更新就更好了

簑威龙 发表于 2026-2-4 06:02:34

鼓励转贴优秀软件安全工具和文档!

尝琨 发表于 2026-2-4 10:15:29

热心回复!

翁真如 发表于 2026-2-4 10:52:49

不错,里面软件多更新就更好了

趣侮 发表于 2026-2-6 12:31:07

感谢分享
页: [1] 2
查看完整版本: C++ 智能指针