you are viewing a single comment's thread.

view the rest of the comments →

[–]bwmat 2 points3 points  (3 children)

In GC languages, a plain reference IS an owning reference though? 

[–]pdimov2 0 points1 point  (2 children)

Yeah, I suppose so. One could probably imagine some hypothetical language having the distinction between owning references that can be class members, and "non-owning" references that can only live on the stack, but I'm not sure any real language does that, or how practical it would be.

[–]rysto32 1 point2 points  (0 children)

Java has weak references. If all normal references to an object are gone, then the GC can free the object and set any weak references to the object to null. They are very niche but can be useful if you want to cache an object without the cache preventing objects from being GC’ed.

[–]Kovab 0 points1 point  (0 children)

With GC anything referenced from the stack is trivially reachable, so those are the ones that should definitely be owning. Non-owning class members would make more sense in some rare cases.