【发布时间】:2012-01-20 01:34:42
【问题描述】:
我想知道如果我尝试对已删除或可能尚未分配的指针执行 delete 会发生什么?我读过两件事:首先,delete 操作员会做一些检查,我们不需要检查指针是否为空;然后,我读到它可能导致未知的行为..
我问它,因为我使用了一些包含 Qt 对象属性的个人对象;我认为当我们关闭窗口时 Qt 会删除所有关联的小部件,但我不太确定并且仍然:如果在窗口关闭之前发生软崩溃,我们必须手动删除所有对象。
那么,最好的解决方案是什么?类似的东西?
if( my_object )
delete my_object;
能避免危险行为吗?
【问题讨论】:
-
只希望它会正常崩溃,而不是失去您的业务
-
@sehe:哈哈。我想象未来标准中的文本 - 正确的崩溃行为,应该正确崩溃等
-
学习现代 C++,并且从不使用
delete。
标签: c++ pointers memory-management delete-operator