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

相关推荐
YuTaoShao几秒前
【LeetCode 每日一题】1895. 最大的幻方——(解法二)前缀和优化
linux·算法·leetcode
Elnaij2 分钟前
从C++开始的编程生活(18)——二叉搜索树基础
开发语言·c++
a程序小傲3 分钟前
中国邮政Java面试被问:边缘计算的数据同步和计算卸载
java·服务器·开发语言·算法·面试·职场和发展·边缘计算
翼龙云_cloud6 分钟前
亚马逊云渠道商:如何在AWS控制台中创建每月成本预算?
服务器·云计算·aws
王老师青少年编程7 分钟前
2024年6月GESP真题及题解(C++七级): 黑白翻转
c++·题解·真题·gesp·csp·七级·黑白翻转
苦藤新鸡8 分钟前
21.在有序的二位数组中用O(m+n)的算法找target
算法
ouliten9 分钟前
C++笔记:std::span
c++·笔记
小尧嵌入式10 分钟前
【Linux开发二】数字反转|除数累加|差分数组|vector插入和访问|小数四舍五入及向上取整|矩阵逆置|基础文件IO|深入文件IO
linux·服务器·开发语言·c++·线性代数·算法·矩阵
@小博的博客12 分钟前
Linux 中的编译器 GCC 的编译原理和使用详解
linux·运维·服务器
one____dream12 分钟前
【算法】大整数数组连续进位
python·算法