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

相关推荐
澈207几秒前
图论基础:邻接矩阵与邻接表详解
算法·图论·邻接矩阵
wangbing11252 分钟前
和挖矿做斗争3
linux·运维·服务器
白日做梦Q5 分钟前
Miniconda 新手保姆级教程:从安装到熟练使用(全程无跳步,避坑指南附全)
人工智能·深度学习·算法·机器学习
189228048616 分钟前
NV266固态MT29F32T08GSLBHL8-36QMES:B
大数据·服务器·人工智能·科技·缓存
吃好睡好便好6 分钟前
在Matlab中绘制变半径柱面图
开发语言·人工智能·学习·算法·matlab
汉克老师7 分钟前
GESP6级C++考试语法知识(十五、数据结构(一、认识栈 Stack))
c++··gesp6级·gesp六级·数组模拟栈
拂拉氏9 分钟前
【知识讲解-题目讲解】:二叉树的前、中、后序遍历的三种实现(递归,非递归,Morris遍历)与二叉树oj题讲解(二叉树最近公共祖先,二叉树展开为链表)
数据结构·算法·leetcode·二叉树·遍历
luck_bor11 分钟前
File 类核心笔记
java·前端·算法
cen__y12 分钟前
Linux知识点复习总结(2)
linux·运维·服务器·c语言·开发语言
方便面不加香菜12 分钟前
C++ 日期类的实现
开发语言·c++