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

    1 什么是智能指针

    它本质上是一个类,它对其所管理的对象进行包裹,new的时候,new出这个智能指针对象的话,会自动创建其所管理的对象。

    最重要的是,它会提供一个get该对象的方法,并且保存一个引用计数用的成员变量每次get的话,该引用计数都会加一。

    然后它还会提供一个特殊的析构函数,每次delete这个智能指针,它都只是把引用计数减去1,只有当引用计数减为0了,它才会真正的delte掉它所管理的对象。

    2 智能指针的例子

     c++标准库里面智能指针的实现auto_ptr<T>,使用例子

    void func()

    {

        auto_ptr<string> ps(new string("jjhou"));

        cout<<*ps<<endl;

        cout<<ps->size()<<end;

        // 离开前不想要释放该string对象内存,auto_ptr会自动释放。

    }

    也就是说,智能指针最大的好处是,不需要人去管内存的释放。

    另外,智能指针用的时候,行为和普通指针一样,非常好用。

  • 相关阅读:
    HTTP协议:POST请求
    HTTP协议:GET请求
    HTTP协议
    理解server.xml
    用session实现简单的购物
    session:的工作原理
    session:的生命周期
    session:例子代码(一个session为一个会话而服务)
    session概述&作用
    时间复杂度和空间复杂度
  • 原文地址:https://www.cnblogs.com/hustdc/p/6486153.html
Copyright © 2011-2022 走看看