分享到:
发表于 2008-12-25 09:00:33 楼主 | |
假设这样。 {... Obj obj; dosomething(&obj); }...dosomething(Obj * ptr){ delete ptr; }这样做会有什么后果?我试了一下,简单程序好像什么错都不报。真的安全吗? |
|
楼主热贴 |
发表于 2008-12-25 09:00:33 1楼 | |
如果外面知道你delete了。那就是安全的可惜外面不知道,所以会再析构一次 |
|
发表于 2008-12-25 09:00:33 2楼 | |
未定义行为。 |
|
发表于 2008-12-25 09:00:33 3楼 | |
不应该是段错误么? |
|
发表于 2008-12-25 09:00:33 4楼 | |
找死 |
|
发表于 2008-12-25 09:00:33 5楼 | |
不安全.delete是根据malloc的东西释放内存的.这种情况下它根据什么释放内存 ? |
|
个性签名:
|
发表于 2008-12-25 09:00:33 6楼 | |
Obj obj;和 Obj p_obj = new Obj;结果也不一样 |
|
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见