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

相关推荐
进击的小白菜几秒前
用Java实现单词搜索(LeetCode 79)——回溯算法详解
java·算法·leetcode
珂朵莉MM20 分钟前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
Easy_Package24 分钟前
Linux中的进程
linux·服务器·网络
小智学长 | 嵌入式28 分钟前
进阶-数据结构部分:2、常用排序算法
java·数据结构·算法
少了一只鹅29 分钟前
字符函数和字符串函数
c语言·算法
*才华有限公司*33 分钟前
gRPC开发指南:Visual Studio 2022 + Vcpkg + Windows全流程配置
c++·ide·visual studio
magic 2451 小时前
第6章:文件权限
linux·运维·服务器
c6lala1 小时前
数据结构day3
linux·运维·服务器
wefg11 小时前
【C++】类与对象
开发语言·c++
Dr.9271 小时前
1-10 目录树
java·数据结构·算法