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)声明

相关推荐
橘颂TA几秒前
【剑斩OFFER】算法的暴力美学——力扣 695 题:岛屿的最大面积
算法·leetcode·职场和发展
野犬寒鸦2 分钟前
从零起步学习RabbitMQ || 第四章:RabbitMQ的延迟消息在项目中的运用及实现剖析
java·服务器·数据库·后端·mysql·rabbitmq
永远都不秃头的程序员(互关)4 分钟前
【K-Means深度探索(七)】玩转图像!K-Means如何在像素世界中实现颜色压缩?
算法·机器学习·kmeans
a程序小傲6 分钟前
哈罗Java面试被问:布隆过滤器的误判率和哈希函数选择
java·服务器·算法·面试·职场和发展·哈希算法
seeInfinite10 分钟前
位运算题目总结
算法
Allen_LVyingbo10 分钟前
多智能体协作驱动的多模态医疗大模型系统:RAG–KAG双路径知识增强与架构的设计与验证(下)
人工智能·算法·架构·系统架构·知识图谱·健康医疗
Mr.Winter`13 分钟前
轨迹优化 | 微分动态规划DDP与迭代线性二次型调节器iLQR理论推导
人工智能·算法·机器人·自动驾驶·动态规划·ros·具身智能
小魏每天都学习14 分钟前
【数据结构学习】
算法·图论
HABuo14 分钟前
【linux进程控制(二)】进程等待-->死亡的子进程是如何被父进程等待回收的?
linux·运维·服务器·c语言·c++·ubuntu·centos
Physicist in Geophy.16 分钟前
矩阵的本质
算法·机器学习·矩阵