zoukankan      html  css  js  c++  java
  • C++了解free和delete


    (转自:http://www.cnblogs.com/mrye/archive/2012/09/01/2667079.html)

    void MyMethod1()
    {
        using namespace std;
     
        int a=6;
        int b=6;
     
        int* pa=new int;
        int* pb=new int;
     
        *pa=a;
     
        pb=pa;
     
        cout<<"pa的内容赋值为:"<<a<<endl;
     
        delete(pa);
        //free(pa);//加上这句造成pa不可用,
        //cout<<"free(pa);之后试试能不能读取pa:"<<pa<<endl;//实验证明会挂掉程序
        //cout<<"free(pa);之后试试能不能读取a:"<<a<<endl;//实验证明会挂掉程序
     
        cout<<"pa的内容:"<<*pa<<endl;
        cout<<"pa的地址:"<<pa<<endl;
        cout<<"pb的内容:"<<*pb<<endl;
        cout<<"pb的地址:"<<pb<<endl;
     
        *pb=b;
     
        cout<<"pb的内容赋值为:"<<b<<endl;
     
        cout<<endl;
        cout<<"pa的内容:"<<*pa<<endl;
        cout<<"pa的地址:"<<pa<<endl;
        cout<<"pb的内容:"<<*pb<<endl;
        cout<<"pb的地址:"<<pb<<endl;
     
        Sleep(1000);//蛋疼的我测试下休眠函数
    }
     
    /*
    delete 是把一段内存标记为可用(没被占用)
    free 会释放这段内存(清空)
     
    free之后内存不能访问,因为没有内容
    delete 之后还能访问,但是不能确定内容
    */
    int main(int argc, char* argv[])
    {
        MyMethod1();
        return 0;
    }
  • 相关阅读:
    HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者
    博弈论小结
    HDU 2149 Public Sale
    有上下界限制的网络流-总结
    loj #117. 有源汇有上下界最小流
    jquery中not的用法[.not(selector)]
    Assert随笔
    Maps.newHashMapWithExpectedSize(2)
    java1.8操作日期
    控制input只输入数字--- onkeyup="value=value.replace(/[^d]/g,'')"
  • 原文地址:https://www.cnblogs.com/yongwangzhiqian/p/3938016.html
Copyright © 2011-2022 走看看