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

相关推荐
有为少年18 小时前
Welford 算法 | 优雅地计算海量数据的均值与方差
人工智能·深度学习·神经网络·学习·算法·机器学习·均值算法
Tim_1018 小时前
【C++入门】04、C++浮点型
开发语言·c++
Ven%18 小时前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
山楂树の18 小时前
爬楼梯(动态规划)
算法·动态规划
TG:@yunlaoda360 云老大18 小时前
华为云国际站代理商NAT的规格有哪些?
服务器·网络·华为云
谈笑也风生18 小时前
经典算法题型之复数乘法(二)
开发语言·python·算法
hkNaruto18 小时前
【C++】记录一次C++程序编译缓慢原因分析——滥用stdafx.h公共头文件
开发语言·c++
智算菩萨18 小时前
强化学习从单代理到多代理系统的理论与算法架构综述
人工智能·算法·强化学习
lhn18 小时前
大模型强化学习总结
算法
Guheyunyi18 小时前
视频安全监测系统的三大核心突破
大数据·运维·服务器·人工智能·安全·音视频