Running out of memory ctfe 16GB
Jethro via Digitalmars-d
digitalmars-d at puremagic.com
Fri Apr 7 14:45:36 PDT 2017
On Friday, 7 April 2017 at 21:02:33 UTC, ketmar wrote:
> Nierjerson wrote:
>
>> How to implement trick is this and are you 100% sure it works?
>>
>> e.g.,
>>
>> char[] x;
>>
>> x.length = 65536;
>> x.length = 0;
>
> this won't work. the moment you did `.length = 0;`, you are
> returned to point zero.
>
> what you have to do is to maintain "shadow length" yourself,
> like this:
>
> x.length = 65536;
> size_t xpos = 0;
>
> void put (const(char)[] s...) {
> foreach (immutable char ch; s) {
> if (xpos == x.length) x.length += 65536; // or anything
> x[xpos++] = ch;
> }
> }
thanks, I'll try it... seems like it is basically appender though?
More information about the Digitalmars-d
mailing list