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

相关推荐
千金裘换酒5 小时前
LeetCode 移动零元素 快慢指针
算法·leetcode·职场和发展
wm10435 小时前
机器学习第二讲 KNN算法
人工智能·算法·机器学习
NAGNIP5 小时前
一文搞懂机器学习线性代数基础知识!
算法
NAGNIP5 小时前
机器学习入门概述一览
算法
byxdaz6 小时前
C++内存序
c++
iuu_star6 小时前
C语言数据结构-顺序查找、折半查找
c语言·数据结构·算法
优雅的潮叭6 小时前
c++ 学习笔记之 malloc
c++·笔记·学习
Yzzz-F6 小时前
P1558 色板游戏 [线段树 + 二进制状态压缩 + 懒标记区间重置]
算法
漫随流水6 小时前
leetcode算法(515.在每个树行中找最大值)
数据结构·算法·leetcode·二叉树
翼龙云_cloud7 小时前
阿里云渠道商:如何手动一键扩缩容ECS实例?
运维·服务器·阿里云·云计算