zoukankan      html  css  js  c++  java
  • 37)智能指针(就是自动delete空间)

    1)问题引入:

          在java或者在C++中,一旦你new一个东西,那么必然有一个delete与之对应,比如:

     1 int main()
     2 {
     3      int* p= new int();
     4      
     5      *p=10 6 
     7       delete p;   
     8 
     9 
    10      return 011 }

       但是  我现在有一个  特别  特别智能的指针   ---名字叫  智能指针  可以  不用我们手动释放  去自己释放,那么怎么创建和使用这个智能指针呢?

    其实这个智能指针就类似于  JAVA的  new原理,也是你只要创建了,就可以用,但是回收 你不用管。

    2)智能指针的创建和使用

        (1)智能指针存在头文件  <mrmary>  中

        (2)创建和使用:

     1 #include<iostream>
     2 #include<memory>
     3 using namespace std;
     4 int main()
     5 {
     6     //等同于 int *p= new int();
     7     auto_ptr<int> pt(new int);
     8     //这个pt后面括号里面的是 返回一个地址的东西   new int 返回一个地址  给了pt
     9     //那个尖括号< > 里面的是 这个pt指针的数据类型 你是int  就是<int> 你是char  
    10     //就是  <char>  你是类A  就是 <A>
    11 
    12 
    13     //比如  和 A  a=  new  A(10)类似的代码是:
    14 
    15     // auto_ptr<A>  pt(new A(10));
    16     *pt=10;
    17     cout<<*pt<<endl;
    18 
    19 
    20 }

     

  • 相关阅读:
    关于python的装饰器(初解)
    关于python的创立模块和导入
    2019年春季学期第五周作业
    2019年春季学期第四周作业
    2019年春季学期第三周作业
    pytest
    Python中if __name__ == '__main__':的作用和原理
    oracle中的游标
    oracle中的一些小知识点
    python中str()与repr()函数的区别
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8259597.html
Copyright © 2011-2022 走看看