一旦局部对象超出范围,它们是否被垃圾收集?

时间:2015-11-19 16:05:45

标签: memory-management memory-leaks vb6 garbage-collection

说我有一个功能

Private Sub DoThing()
  Dim o As ComplexObject ' with possible backreference
  Set o = ComplexThing()
  Call DoStuff(o)
End Sub

我的直觉告诉我,一旦函数退出,o将被设置为Nothing(因此被垃圾收集),但我找不到任何文档来确认或反驳这一点。

1 个答案:

答案 0 :(得分:2)

是的,只要DoStuff()不执行任何会增加o的引用计数器的操作,它的引用计数就会变为0,并且它的资源将在那时被释放。