问题标签 [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.

0 投票
1 回答
114 浏览

c++ - 是否允许显式调用其类析构函数的成员函数

  • 以下代码是否具有已定义的行为?
  • 如果不是,代码的哪一部分是 UB 以及标准的哪一部分说明它是 UB ?
  • 如果此代码是 UB,是否有任何 [微小] 更改可以修复它?
  • 如果没有什么可以解决它,还有什么其他的代码方案/模式可以用来实现相同的功能?



0 投票
0 回答
450 浏览

delphi - Delphi - 改进我的代码以自我删除可执行文件

我总是使用这段代码来自我删除我的可执行文件。但我认为这是一种可笑的方式。我能做些什么来改善这一点?我猜使用外部批处理是不正确的。下面的代码:

和我做的 OnClose 事件。

有人可以帮助让它表现出更少的白痴吗?谢谢

0 投票
2 回答
145 浏览

c++ - c ++返回到已删除对象的方法

这是delete this辩论的一种变体,与中间方法调用发生的情况有关。

基本上,如果方法 A 调用方法 B,并且方法 B 破坏了对象,那么从 B 返回时,方法 A 内部会发生什么特别的事情吗?像这样的东西:

只要前一个对象的内存位置没有进一步交互,是否可以假设返回到过期对象的方法将正常进行?

0 投票
1 回答
1265 浏览

winforms - 使用脚本 powershell 自行删除文件夹

我一直在尝试让 powershell 或批处理脚本在我完成后删除一个包含我所有脚本的文件夹。最初我尝试Remove-Item -Path "C:\Tool" -Recurse -Force了如果作为脚本运行在C:\Tool. 当从其中的脚本运行时,它会抱怨文件正在使用中。经过一些研究,我发现&cmd.exe /c rd /s /q "C:\Tool"哪个效果更好,但即使我关闭了 GUI,该命令也不会删除正在使用的 img 文件/文件夹。

从 USB 驱动器启动时,上述两个命令都能完美运行。

以前我在临时文件夹中创建了第二个脚本,它将删除所有文件,然后删除自身。我正在寻找一种新方法来简化我正在研究的新设计。我希望脚本可以从 USB 驱动器内部C:\Tool或从 USB 驱动器运行。

控制流程是这样的:
1)脚本加载所有功能
2)显示GUI(包含imgs)
3)按下按钮
4)关闭GUI
5)删除包含脚本的文件夹

如前所述,第 5 步是我的问题。并非所有文件都被尝试的命令和命令的变体删除。

我希望步骤 5 能够正常工作,无论是从 GUI 上的按钮调用命令、它作为脚本的一部分自动运行,还是其他位置(如 USB)中的脚本调用它来删除文件夹C:\Tool

0 投票
1 回答
517 浏览

excel - 用户输入错误密码 3 次后,Excel 工作簿是否可以自毁?

我知道 Excel 工作簿可以受密码保护。有没有办法将 Excel 工作簿配置为在密码输入错误 3 次后自毁或锁定进一步尝试?

0 投票
0 回答
1831 浏览

javascript - 错误:返回的值无效,是否耗尽了 Gas?关于自毁()

代码工作正常,因为我正在学习在线速成课程。我的问题是当我输入 selfdestruct() 时,它说明了一个错误,我不确定是什么。请看看,看看有什么问题。

这是每次我添加此问题时弹出问题的代码:

请注意,该错误仅在我添加时显示

这是测试驱动的时尚代码:

我正在使用编译指示 ^0.5.0

这是我的错误日志:

0 投票
0 回答
165 浏览

javascript - 有没有办法在 Firebase 实时数据库或 Firestore 上设置自毁值?

我正在开发一个以 firebase 作为后端和 reactjs 的网络应用程序,我想创建一个自毁值或至少一个在 24 小时后发生变化的布尔值。有没有办法用firebase或另一个数据库来做?

0 投票
0 回答
631 浏览

python - 自毁 Python 脚本

没有特别的原因(主要是实验的乐趣),我正在寻找一种编写 python 脚本的方法,该脚本在执行后会自毁。一种简单的方法是确定从文件本身调用的文件,然后将其删除,如下所示:

由于文件由 python 进程保存,因此由于明显的原因(至少在 Windows 上)失败。我将如何实现这一目标?实际应用程序的奖励业力点,说明为什么有人会这样做。

0 投票
4 回答
182 浏览

c++ - 为什么析构函数无休止地调用自己(导致堆栈溢出)?

当我尝试LeakySingleton通过静态函数调用在堆上构造一个对象create_instance(),然后尝试通过delete操作显式删除它时,我对为什么析构函数会无限次调用自己感到困惑。

据我了解,考虑到下面的源代码清单,leaky_singleton里面的变量main()指向由create_instance(). 因此,我们通过函数LeakySingleton间接在堆上分配了一个对象。create_instance现在,如果我在 上显式调用 delete 运算符或 delete 函数leaky_singleton,那么它首先调用析构函数并检查它是否满足instance != nullptr条件,然后删除instance指向的对象应该被删除。如果这个对象LeakySingleton::instance被删除,那么 dtor 就没有理由再次调用自己,或者我在这里遗漏了什么?

使用和不使用 valgrind 调用它会导致分段错误(由于堆栈溢出导致的无效内存访问):

Segmentation fault (core dumped)

使用调试器单步执行会导致无休止的析构函数调用(堆栈溢出的罪魁祸首)。

来自 cplusplus.com(http://www.cplusplus.com/forum/general/40044/):

如果你删除你的对象,它会尝试删除自己,这将导致它尝试删除自己,这将导致它删除自己,这将...

delete当我简单地使用运算符/函数来释放LeakySingleton静态类成员变量指向的堆对象时,为什么它会尝试删除自己LeakySingleton::instance?堆分配的资源由指向对象的LeakySingleton::instance指针变量指向LeakySingleton。那么为什么显式delete函数调用不会删除或释放分配的堆对象,而是无休止地递归呢?我在这里想念什么?

(我目前对 dtor 和 ctor 的理解:new函数/运算符为堆上的对象分配内存并调用构造函数,delete函数调用析构函数,在我的情况下还调用delete内部的运算符/函数。)

来源:

主.cpp

生成文件

0 投票
0 回答
45 浏览

java - 我可以在安卓设备上发送消失的短信吗?

无论如何发送一条未保存在接收者消息框中并在阅读一次后被删除的消息?

我在谷歌上搜索并找到类似自毁消息的内容。 https://www.mashol.org/self-destructing-text-message-app/ 但它不是我要找的。

我收到了一条附有 EditText 的 SMS,一旦我回复或没有回复,该消息就会从内存中销毁,因为它没有被记录。

无论如何我可以实现这样的目标吗?