问题标签 [self-destruction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 执行“删除”时缺少虚拟析构函数
C++ FAQ Lite 的第16.15 节讨论delete this
并提到:
自然,通常的警告适用于当您没有虚拟析构函数时您的 this 指针是指向基类的指针的情况。
为什么这是真的?考虑这段代码:
如此使用:
在调用p->suicide()
中, 的析构函数MyKlass
按预期调用,即使ISuicidal
没有虚拟析构函数。
对我来说这是有道理的,因为在 中MyKlass::suicide
,静态类型this
是已知的MyKlass*
,所以调用了正确的析构函数。这很容易通过在typeid
内部调用来验证suicide
。
那么FAQ条目是不准确的,还是我误解了它?
c++ - 我的代码在删除时崩溃
尝试删除它时出现分段错误。
我知道你想删除这个,但它是我的前任留下的。我知道我应该采取的一些预防措施,这些预防措施已经过验证和处理。
我不知道什么样的条件可能导致这次崩溃,只是偶尔一次。大约 95% 的时间代码运行得非常好,但有时这似乎以某种方式损坏并崩溃。
顺便说一句,类的析构函数没有做任何事情。
我是否应该假设某些东西正在其他地方破坏我的堆,并且 this 指针以某种方式搞砸了?
编辑:根据要求,崩溃代码:
该对象是用新创建的,它不在任何类型的数组中。
bash - 自删除 bash 脚本
即使遇到删除自身的语句,bash脚本如何执行?例如,当我运行 test.sh 脚本时,它包含:
脚本执行到最后,然后自行删除
c++ - 自删除 QObjects 的最佳方法
我有两个类 Node 和 NodeContainer:
一个节点可以有父节点,也可以没有。有什么更好的方法来实现 Node 类的销毁:
1)访问父母并从那里摧毁自己
2) 发出一个信号,然后让父级销毁它
c - 是否可以用 C 编写自毁程序?
是否可以用 C 编写一个程序,该程序在执行时会删除自身(二进制文件)然后成功终止。如果是这样,最简单的方法是什么?
java - 自毁应用
就像“这盘磁带将在五秒钟内自毁。祝你好运,吉姆” ......
一旦达到预设的使用时间或其他条件,应用程序是否有可能删除自己(或其可执行包装形式)?
或者,可以使用哪些其他方法使应用程序无用?
这里的目的是让测试版过期,邀请用户获得更新的版本。
python - 如何使脚本在执行结束时自动删除?
是否可以制作一个 python 脚本,在 Windows 中执行(自删除)结束时删除 .py 文件?
visual-c++ - 在 MFC 中从 OnOk 中调用 delete this
可能重复:
是否应该从成员方法中调用“删除这个”?
从 OnOk 事件处理函数调用 delete 是正确的,如下面的代码所示。
c++ - 如果 std::vector 元素“自杀”(使用 delete this;)会发生什么?
假设有一个向量Item
s
然后,在代码的其他部分,
suicide
函数是:
什么是items
矢量大小以及它现在的排列方式?这样做可以吗?
编辑(我可以问一个额外的问题吗?):如果输出的所需排列是{item1, item3}
,大小是2
,并且没有悬空指针,如何以自毁方式(从item2
本身)做到这一点?
编辑2:感谢所有答案!惊人的。所以我最终决定并找到了从对象外部执行此操作的方法,因为这是一种不好的做法并且不必要地复杂
security - Java如何自毁pdf和epub文件?
我可以以编程方式添加元数据来设置 pdf 和 epub 文档自毁的计时器吗?如果我以编程方式进行,我是否必须为此付费?