dcollections 1.0 and 2.0a beta released
Steven Schveighoffer
schveiguy at yahoo.com
Fri May 21 09:43:19 PDT 2010
superdan Wrote:
> == Quote from Steven Schveighoffer (schveiguy at yahoo.com)'s article
> > superdan Wrote:
> > > == Quote from Steven Schveighoffer (schveiguy at yahoo.com)'s article
> > > > Is there some other reason to use structs besides copy construction?
> > > > -Steve
> > >
> > > memory management n shit. with a struct u can use refcounting n malloc n realloc n
> > > shit. still stays a reference type. nothing gets fucked up.
> > This is not necessary with purely memory-based constructs -- the GC is your
> friend. The custom allocator ability in dcollections should provide plenty of
> freedom for memory allocation schemes.
>
> how do u set up yer custom allocator to free memory? u cant tell when its ok.
> copying refs iz under da radar. dats my point.
It frees an element's memory when the element is removed from the container. The container itself is managed by the GC.
>
> > > den there's all that null ref shit. with a class u have
> > >
> > > void foo(container!shit poo)
> > > {
> > > poo.addElement(Shit(diarrhea));
> > > }
> > >
> > > dat works with struct but don't work with motherfucking classes. u need to write.
> > >
> > > void foo(container!shit poo)
> > > {
> > > if (!poo) poo = new container!shit; // fuck dat shit
> > > poo.addElement(Shit(diarrhea));
> > > }
> > >
> > > u feel me?
> > It doesn't work.
>
> wut? it don't work? whaddaya mean it dun work? is you crazy? what dun work? maybe
> therez sum misundercommunication.
void foo(int[int] x)
{
x[5] = 5;
}
void main()
{
int[int] x;
foo(x);
assert(x[5] == 5); // fails
}
-Steve
More information about the Digitalmars-d-announce
mailing list