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 }

     

  • 相关阅读:
    对 Excel 工作簿中的数字签名和代码签名的说明
    单例模式
    面向对象
    Des对称加密
    Java获取电脑硬件信息
    鼠标双击事件不可描述的问题
    RSA不对称加密
    JTable表格案例
    控件刷新的奥秘
    反编译插件安装
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8259597.html
Copyright © 2011-2022 走看看