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

相关推荐
旖-旎2 分钟前
哈希表(存在重复元素||)(4)
数据结构·c++·算法·leetcode·哈希算法·散列表
SPC的存折3 分钟前
1、MySQL故障排查与运维案例
linux·运维·服务器·数据库·mysql
Run_Teenage4 分钟前
Linux:认识信号,理解信号的产生和处理
linux·运维·算法
John.Lewis6 分钟前
C++进阶(8)智能指针
开发语言·c++·笔记
Deitymoon17 分钟前
linux——TCP服务器获取客户端IP地址
linux·服务器·tcp/ip
CDN36018 分钟前
高防服务器磁盘 / CPU 爆满?攻击引流与资源扩容实战
运维·服务器·网络协议
無限進步D20 分钟前
蓝桥杯赛前刷题
c++·算法·蓝桥杯·竞赛
小贾要学习20 分钟前
【Linux】应用层自定义协议与序列化
linux·服务器·c++·json
CoderCodingNo21 分钟前
【GESP】C++二级真题 luogu-B4497, [GESP202603 二级] 数数
开发语言·c++·算法
white-persist22 分钟前
【vulhub spring CVE-2018-1270】CVE-2018-1270 Spring Messaging 远程命令执行漏洞 完整复现详细分析解释
java·服务器·网络·数据库·后端·python·spring