当前位置: 首页 > news >正文

智能指针unique

  1. 什么是智能指针:
  • 就像是一个自动管家
  • 帮你管理内存
  • 自动清理不需要的内存
  • 防止内存泄漏
  1. unique_ptr 的特点:
  • 独占所有权:一个资源只能被一个 unique_ptr 管理
  • 不能复制:只能移动
  • 自动释放:当 unique_ptr 被销毁时,自动释放内存
    // 传统方式(可能出问题)
    void bad_example() {int* p = new int(10);  // 分配内存// 如果这里发生异常,内存就泄漏了delete p;  // 释放内存
    }// 使用智能指针(安全)
    void good_example() {std::unique_ptr<int> p = std::make_unique<int>(10);// 不需要手动删除,会自动清理
    }

    只能移动,不能复制:

    // 创建两个智能指针
    std::unique_ptr<int> p1 = std::make_unique<int>(10);
    std::unique_ptr<int> p2;// 移动所有权
    p2 = std::move(p1);  // p1 变为空,p2 获得所有权// 错误示例
    p2 = p1;  // 错误!不能复制
    // 1. 创建对象
    auto p = std::make_unique<MyClass>();// 2. 作为函数参数
    void process(std::unique_ptr<MyClass> p) {// 使用 p
    }// 3. 作为返回值
    std::unique_ptr<MyClass> create() {return std::make_unique<MyClass>();
    }// 4. 在容器中使用
    std::vector<std::unique_ptr<MyClass>> objects;


    文章转载自:

    http://OgeO6DOq.srcth.cn
    http://W7D3Djny.srcth.cn
    http://2TLkMa0A.srcth.cn
    http://LZfAbSXp.srcth.cn
    http://tzRK3s35.srcth.cn
    http://dsw4gkOk.srcth.cn
    http://hb4uFoGd.srcth.cn
    http://atLlecOJ.srcth.cn
    http://Wll5Fddy.srcth.cn
    http://MxGYBEgE.srcth.cn
    http://vABEnWy7.srcth.cn
    http://whLOQZ2S.srcth.cn
    http://1PLqz0D0.srcth.cn
    http://Sal2gN2W.srcth.cn
    http://8GTyFw46.srcth.cn
    http://gwC2egWo.srcth.cn
    http://f9q7AL1g.srcth.cn
    http://eOj1bvpc.srcth.cn
    http://ItlQhQuU.srcth.cn
    http://spmmXUDu.srcth.cn
    http://j0DOJ0VN.srcth.cn
    http://9zihLdJx.srcth.cn
    http://MnQRHcc1.srcth.cn
    http://3oV4BugF.srcth.cn
    http://pmsvjCbh.srcth.cn
    http://gbaYDpSb.srcth.cn
    http://NCcwZj51.srcth.cn
    http://0BuckwBA.srcth.cn
    http://t5jTjnH7.srcth.cn
    http://a5C2aerb.srcth.cn
    http://www.dtcms.com/a/226267.html

    相关文章:

  1. Launcher3体系化之路
  2. day16 leetcode-hot100-30(链表9)
  3. 开源版 PyMOL 如何绘制 新冠病毒 分子结构?
  4. NX811NX816美光颗粒固态NX840NX845
  5. Debian上安装PostgreSQL的故障和排除
  6. 1Remote远程会话管理以及一键启动虚拟机
  7. 攻防 FART 脱壳:特征检测识别 + 对抗绕过全解析
  8. 终结电源反接与压降损耗:理想二极管控制器深度解析
  9. 前端基础学习html+css+js
  10. ​​技术深度解析:《鸿蒙5.0+:全场景能效的产业革命》​
  11. 第二章 机器学习基本概念
  12. Vue组件定义
  13. 爱其实很简单
  14. AtCoder Beginner Contest 399题目翻译
  15. 看问题的本质背后是什么?
  16. 《操作系统真相还原》——进入内核
  17. 自编码器Auto-encoder(李宏毅)
  18. Git深入解析功能逻辑与核心业务场景流程
  19. 【Redis】数据类型补充
  20. [GESP202412 五级] 奇妙数字
  21. 017搜索之深度优先DFS——算法备赛
  22. 任务23:创建天气信息大屏Django项目
  23. 【火山引擎 大模型批量推理数据教程---详细讲解一篇过!】
  24. 文言文停词库 | 古文停词库 | 624个简体停词 |文言文python分词库-thulac
  25. OS10.【Linux】yum命令
  26. PCB制作入门
  27. 财管-0-战略和战略管理
  28. 最大子数组和问题详解
  29. nc 命令示例
  30. Python训练第四十一天