zoukankan      html  css  js  c++  java
  • 智能指针类模板

    智能指针的意义

    现代c++开发库中最重要的类模板之一

    c++中自动内存管理的主要手段

    能够在很大程度上避开内存相关的问题

    STL中的智能指针auto_ptr

      生命周期结束时,销毁指向的内存空间

      不能指向堆数组,只能指向堆对象(变量)

      一片堆空间只属于一个智能指针对象

      多个智能指针对象不能指向同一片堆空间

    STL中的其它智能指针

    shared_ptr

      带有引用计数机制,支持多个指针对象指向同一片内存

    weak_ptr

      配合shared_ptr而引入的一种智能指针

    unique_ptr

      一个指针对象指向一片内存空间,不能拷贝构造和赋值

    Qt中的智能指针

    QPointer

      当其指向的对象被销毁时,它会被自动置空

      析构时不会自动销毁所指向的对象

    QSharedPointer

      引用计数型智能指针

      可以被自由地拷贝和赋值

      当引用计数为0时才删除指向的对象

    小结

    智能指针c++中自动内存管理的主要手段

    智能指针在各种平台上都有不同的表现形式

    智能指针能够尽可能的避开内存相关的问题

    STL和Qt中都提供了对只能指针的支持

      

  • 相关阅读:
    Kosaraju算法---强联通分量
    Java和C++的区别
    嵌入式面试题汇总
    tabbar 之 基本结构搭建
    路由 之 再识
    常见问题 之 vue项目中使用less报错
    路由 之 初识
    VueCLI3创建项目和目录结构与配置信息详解
    runtime-compiler 和 runtime-only的区别
    vueCLI2 之 目录结构
  • 原文地址:https://www.cnblogs.com/sugarWill666/p/9215929.html
Copyright © 2011-2022 走看看