Reference counting example

cc cc at nevernet.com
Tue Apr 26 23:33:28 UTC 2022


On Tuesday, 26 April 2022 at 22:16:01 UTC, cc wrote:
> Test application:

I should point out that all this stuff with saving refcounted 
things to arrays and so on is extremely untested and experimental🙄

One problem I'm seeing is the inability for a refcounted class to 
pass itself to another function, since the class internals don't 
see the struct wrapper.. you can pass the naked object reference 
itself, and hope the reference doesn't get saved otherwise 
there's your dangling pointer, but then you also have the problem 
of inconsistent method declarations, with some things taking Foo 
and others taking RefCounted!Foo etc...

Every night I pray for a `refcounted` keyword.  Wouldn't 
something like `auto foo = new refcount Foo();` be nice?  Then 
every class that deals with the objects could continue to be 
allocator-agnostic... definitely not a trivial change though.


More information about the Digitalmars-d-learn mailing list