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 }

     

  • 相关阅读:
    [mock open]PyUnit执行单元测试时使用字符串模拟文件对象
    bottle 0.5中的key-value数据库
    bottle模板中的替换
    返回不同值的小技巧
    带有参数的装饰器
    常用命令速查
    SQLAlchemy多线程下事务隔离机制详解
    Bancor 协议浅析
    Flask中 endpoint 解析
    pip 相关问题
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8259597.html
Copyright © 2011-2022 走看看