More on C++ stack arrays
dennis luehring
dl.soluz at gmx.net
Mon Oct 21 07:04:22 PDT 2013
Am 21.10.2013 15:04, schrieb Manu:
> On 21 October 2013 21:24, Denis Shelomovskij <verylonglogin.reg at gmail.com>wrote:
>
>> 21.10.2013 14:30, Manu пОÑеÑ:
>>
>> System interface functions that pass zero-terminated strings through to
>>> the OS are the primary offender, needless garbage, those should be on
>>> the stack.
>>>
>>> I like to use alloca too where it's appropriate. I'd definitely like if
>>> D had a variable-sized static array syntax for pretty-ing alloca.
>>> I thought about something similar using alloca via a mixin template, but
>>> that feels really hackey!
>>>
>>
>> No hacks needed. See `unstd.c.string` module from previous post:
>> http://forum.dlang.org/thread/**lqdktyndevxfcewgthcj@forum.**
>> dlang.org?page=2#post-l42evp:**241ok7:241:40digitalmars.com<http://forum.dlang.org/thread/lqdktyndevxfcewgthcj@forum.dlang.org?page=2#post-l42evp:241ok7:241:40digitalmars.com>
>
>
> Super awesome! Phobos devs should be encouraged to use these in
> non-recursive functions (particularly OS pass-through's).
>
looks like Walters solution - but cleaner
"...Implementation note:
For small strings tempCString will use stack allocated buffer, for
large strings (approximately 1000 characters and more) it will allocate
temporary one from unstd.memory.allocation.threadHeap..."
does that mean that tempCString reserves minimum 1000 bytes on stack
else using heap?
if so i would prefer a template based version where i can put in the size
More information about the Digitalmars-d
mailing list