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

相关推荐
妄想出头的工业炼药师13 分钟前
GS slam mono
算法·开源
_日拱一卒1 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展
日取其半万世不竭1 小时前
iftop、nethogs 和 nload:Linux 服务器网络流量实时监控工具介绍
linux·运维·服务器
mounter6252 小时前
Linux 内核资源管理:控制组(cgroup)的演进与“策略组”新提案
linux·运维·服务器·cgroup·kernel
bksczm2 小时前
文件在磁盘中的存储方式
linux·运维·服务器
L1624762 小时前
OpenSSH 半自动升级方案(独立编译 + 手动迁移 + 重建 systemd 服务)
linux·服务器·ssh
Wpa.wk2 小时前
win环境本地文件上传远程服务器(scp/远程连接工具)
运维·服务器
郭涤生3 小时前
C++ 高性能编程最佳实践清单
开发语言·c++
用户987409238873 小时前
llamafactory 0.6.3 没有 llamafactory-cli
算法
计算机安禾3 小时前
【算法分析与设计】第26篇:参数化算法与固定参数可解性理论
大数据·人工智能·算法·机器学习·剪枝