zoukankan      html  css  js  c++  java
  • C++ 智能指针

    智能指针的设计初衷是:
         C++中没有提供自动回收内存的机制,每次new对象之后都需要手动delete。稍不注意就memory leak。
    智能指针可以解决上面遇到的问题。

    C++中常见的智能指针包括(共七种):
         std::auto_ptr
         boost::scoped_ptr
         boost::shared_ptr
         boost::intrusive_ptr
         boost::scoped_array
         boost::shared_array
         boost::weak_ptr
        其实,智能指针并不是指针,它仅仅是一个栈对象而已。
    在栈对象的生命周期结束时,智能指针调用析构函数释放其管理的堆内存。
    所有的智能指针都重载了'operator->'操作符,用来返回其管理对象的引用。从而可以
    执行所管理对象的一些操作。

    两个方法:
         - get()
              访问智能指针包含的裸指针引用
         - reset()
              若传递参数为空或NULL 则智能指针会释放当前管理的内存。
              若传递参数为一个对象 则智能指针会释放当前管理的内存,管理新传入的对象。

  • 相关阅读:
    对数可以用来简化乘法计算
    理解了一点github的用法了
    由摄氏温度和华氏温度转换想到的。
    CMD原来是支持通配符的啊
    怎么在CMD中创建文件
    如何学习数学
    SCILAB
    STS或eclipse安装SVN插件
    Html解析类的新选择CsQuery
    Tomcat编码问题
  • 原文地址:https://www.cnblogs.com/lemon333333/p/10289674.html
Copyright © 2011-2022 走看看