getNext

David Piepgrass qwertie256 at gmail.com
Mon Jul 9 00:53:40 PDT 2012


> I've just had an idea that is so dark and devious, I was almost 
> afraid to try it. But it works like a charm. Consider:
>
> T * getNext(R, E)(ref R range,
>                   ref E store = *(cast(E*) alloca(E.sizeof))
> {
>     ...
> }

I don't know if this proposal went anywhere since 2010, but it 
occurs to me that there is a hidden danger here. alloca will 
allocate a sequence of separate temporaries. If the collection is 
large, the stack will overflow, and the client might not have a 
clue what happened.


More information about the Digitalmars-d mailing list