C++智能指针

智能指针指的是在指针生存期结束后能自动释放的指针

cpp 复制代码
class c
{
    public:
    c()
    {
        cout<<"create c"<<endl;
    }
    ~c()
    {
        cout<<"delete c"<<endl;
    }
};


void test()
{

    auto p1(new c);
    unique_ptr<c> p2(new c);
}

int main(int argc,char *argv[])
{
    test();
    return 0;
}

运行结果

可以看到普通指针p1在生存周期结束前未释放申请的内存(析构未调用),而智能指针unique_ptr在生存期结束时自动delete(调用析构函数)

智能指针不是普通的指针,通过(new)声明

相关推荐
不会就选b4 分钟前
算法日常・每日刷题--<动态规划>26
算法·动态规划
LiaoWL1235 分钟前
从零开始学 Linux(一):目录结构、常用命令与 VIM 编辑器上手
linux·运维·服务器
荆棘鸟智能17 分钟前
虫情测报灯图像识别算法实践:小目标检测、粘连计数与飞虱细粒度分类
算法·目标检测·分类
for_ever_love__18 分钟前
LangGraph Checkpointer:持久化、断点续跑与多轮记忆
服务器·数据库·学习·持久化·langgraph·checkpointer·断点续跑
Data analyse45619 分钟前
用户路径SQL按会话起止时间聚合的方法
大数据·服务器·前端·数据库·人工智能·sql·数据分析
我先去打把游戏先37 分钟前
Git-Rebase使用指南-从原理到实战
服务器·git·嵌入式硬件·物联网·ubuntu
爱读书的小胖39 分钟前
LeetCode 27. 移除元素(C)解题分析
数据结构·算法
科技小E41 分钟前
敏感数据不敢上云训练?本地大模型推理服务器DLTM私有化部署,让训练全程留在企业内网
大数据·算法·自动化
染指111043 分钟前
145.Agent-LangGraph基础概念和安装和简单代码示例
java·服务器·数据库·langchain·agents
小白鸽i1 小时前
【Linux】已安装的软件如何重新构建deb安装包?
linux·运维·服务器