non-determinant object lifetime and memory management

Rene Zwanenburg renezwanenburg at gmail.com
Sat Nov 30 04:51:41 PST 2013


On Saturday, 30 November 2013 at 08:35:23 UTC, Frustrated wrote:
> I need to pass around some objects(specifically int[]) that may 
> be used by several other objects at the same time. While I 
> could clone these and free them when the parent object is done 
> this wastes memory for no real reason except ease of use.
>
> Since many objects may contain a ptr to the array, what would 
> be the best way to deal with deallocating them? I could wrap 
> the array in a collection an use ARC but is there a better way?
>
> Is there something in std.allocators that can help?
>
> (Should be obvious that I'm trying to avoid the GC)

You can use the Array type in std.container [1]. It uses ref 
counting and the C heap internally.

[1] http://dlang.org/phobos/std_container.html#.Array


More information about the Digitalmars-d-learn mailing list