How to use D without the GC ?

Dukc ajieskola at gmail.com
Fri Jun 14 07:52:35 UTC 2024


Lance Bachmeier kirjoitti 14.6.2024 klo 4.23:
> We must be talking about different things. You could, for instance, call 
> a function in a C library to allocate memory at runtime. That function 
> returns a pointer and you pass it to SafeRefCounted to ensure it gets 
> freed. Nothing is known about the allocation at compile time. This is in 
> fact my primary use case - allocating an opaque struct allocated by a C 
> library, and not wanting to concern myself with freeing it when I'm done 
> with it.

Using a raw pointer as the `SafeRefCounted` type like that isn't going 
to work. `SafeRefCounted` will free only the pointer itself at the end, 
not the struct it's referring to. If you use some sort of RAII wrapper 
for the pointer that `free`s it at it's destructor, then it'll work - 
maybe that's what you meant.


More information about the Digitalmars-d-learn mailing list