B
Ben Voigt [C++ MVP]
It's true that finalization is different from disposal, and not even
guaranteed. But in the context of "the GC _ONLY_ finalizes an object" (my
emphasis, obviously), I have a problem with the statement. "ONLY
finalizing" implies that the GC is not disposing when it finalizes. But
assuming the finalizer was written correctly, IMHO that's the whole point:
for it to do the disposing that should have been done already.
In other words, the GC does implicitly wind up disposing, even though
The GC gives the object a chance to dispose itself... which I argue is
different than having the GC dispose it, especially from the perspective of
the person designing the object.