美文网首页
话说delete到底干了什么?

话说delete到底干了什么?

作者: Chenglin_Yu | 来源:发表于2018-01-11 20:02 被阅读0次

    #include

    usingnamespacestd;

    intmain()

    {

           int*a=newint(5);

           int*p=a;

           cout<<"5这个整型存储的地址是"<

           cout<<"指针变量a指向的数值是"<<*a<

           cout<<"指针变量a的值是"<

           delete a;

           cout<<"已经删除了指针变量"<

           cout<<"现在p存储的地址是"<

           cout<<"现在a存储的地址是"<

           cout<<"现在p指向的整型是"<<*p<

           cout<<"现在我重新给指针p指向的值赋值为 6"<

           *p= 6;

           cout<<"再次输出得到的值为"<

           cout<<*p<

           //其实就是这个地址的内存已经被释放了,已经不是原先的那个东西了。指针变量的值

           //自始至终都没有变过,但是最后指针变量指向的值已经改变了

           return0;

    }

    输出的截图是

    5这个整型存储的地址是00C46518

    指针变量a指向的数值是5

    指针变量a的值是00C46518

    已经删除了指针变量

    现在p存储的地址是00C46518

    现在a存储的地址是00C46518

    现在p指向的整型是-572662307

    现在我重新给指针p指向的值赋值为 6

    再次输出得到的值为

    6

    说明了这是这个指针不指向这段内存了,这个内存地址依然是存在了,但是是可以再用的。

    相关文章

      网友评论

          本文标题:话说delete到底干了什么?

          本文链接:https://www.haomeiwen.com/subject/fcbtoxtx.html