Reference Counted Class

Tejas notrealemail at gmail.com
Wed Jul 14 18:33:56 UTC 2021


On Wednesday, 14 July 2021 at 18:04:59 UTC, IGotD- wrote:
> On Wednesday, 14 July 2021 at 17:52:16 UTC, sclytrack wrote:
>> Would reference counted classes by default be too much of a 
>> change? Is it a bad idea? Currently there a changes in the 
>> language where you can avoid the reference count, right?
>> Combination both the rc and the stop-the-world gc, for the 
>> cycles.
>
> Since classes are reference type, I think it can be done. If 
> I'm wrong please explain why. Now, I think there might problems 
> with existing code as there is no concern about the RC when 
> classes are passed around. However, for new code this can be 
> mitigated.
>
> In practice this would lead to RC classes while other 
> structures would still be garbage collected. This would reduce 
> the amount of garbage collected memory which could be 
> beneficial.
>
> What I would find interesting is if this would enable 
> deterministic destruction of classes.
>
> It's an interesting subject and could be a half way step to 
> more a more versatile memory management.

For deterministic object destruction, there's the ```scope``` 
storage class:

```d
scope class_instance = new class();
scope(exit) class_instance.destroy

```

Isn't the exact same as real RC, but then you can use automem for 
C++ style reference counting if you want.


More information about the Digitalmars-d-learn mailing list