【发布时间】:2018-01-11 07:56:26
【问题描述】:
我正在尝试围绕 AHK 的课程进行学习。我是 C++ 开发人员,所以想使用 RAII(__New、__Delete),但看起来我错过了一些概念,因为这对我来说看起来非常违反直觉。
经过一些尝试,我想出了这个简单的例子:
class Scenario
{
__New()
{
MsgBox, NEW
}
__Delete()
{
MsgBox, DELETE
}
}
scenario := new Scenario
scenario := new Scenario
scenario := 1
scenario := {}
scenario := new Scenario
Return
因此,我收到以下消息:
- 新
- 新
- 删除
- 删除
问题:
- 为什么在第二次分配期间对象没有被销毁?我会假设 refs 的数量为 0,不是吗?
- 我怎么会连续收到 2 次破坏?同时该对象存储在哪里?
scenario变量如何同时保存两个引用? - 为什么不调用第三个构造?
【问题讨论】:
标签: class object autohotkey construction destruction