有两个功能:一个名为make_a_handle
Escape
的句柄为EscapableHandleScope
,另一个名为do_something
的句柄有HandleScope
。假设do_something
函数调用make_a_handle
,并且从不分配也不使用Escape
d句柄;将Escape
d句柄作为垃圾收集的目标立即,或直播,直到do_something
的{{1}}被破坏为止?
答案 0 :(得分:1)
后者。 EscapableHandleScope
的{{1}}函数在内部使用“转义槽”,它基本上是外部Escape
中的句柄。
为清楚起见,我还要指出,当HandleScope
被破坏时,其句柄引用的对象(假设它是对它们的最后一个引用)将不会立即释放;它们只有资格进行垃圾收集,这意味着它们将在下一个垃圾收集周期中被释放。