读书人

关于指针与内存有关问题

发布时间: 2013-03-25 15:43:04 作者: rapoo

【求助】关于指针与内存问题
那你看我这样表达对不:1.有一个指针指向一块堆空间,当我delete这个指针的时候,释放掉这片内存,虽然释放掉了这块内存,但指针还在,所以指针还指向这块已经被释放了的内存,只不过告诉编译器,这块内存你可以拿去用,如果我再对这个指针赋值,就意味着这个值依然存放在那块曾经释放了的堆空间
2.假如有两个对象a和b,a里有个成员变量是指针p,而p现在指向一块存放了一个6的空间,然后把a通过复制构造函数给了b,也就把成员变量指针p给了对象b,此时,对象b也拥有了一个指针,而这块指针也是指向了那个存放了6的空间,现在我把a对象的指针delete,也就是把a对象的指针所指向的空间给释放掉了,那a对象的指针指向的地址里面存放的还是6吗?a对象指针被delete后,那b对象的指针会受什麽影响?b的指针还指向那块空间吗?那块空间里的值还是6吗?
[解决办法]
参考上一贴的回答
[解决办法]
1、再对这个指针赋值,则这个指针指向一块新的内存空间,不一定是堆,也可以是栈啊。
2、不是;b里指针变野指针;b指针还指向那块空间;空间的值未定义,不一定;

读书人网 >C++

热点推荐