New feature proposal: "initialization scope"
deadalnix
deadalnix at gmail.com
Thu May 16 01:01:32 PDT 2013
On Thursday, 16 May 2013 at 07:53:08 UTC, TommiT wrote:
> I'd like to make it easier to initialize function local
> immutable/const data. Here's the type of problem I'd like to
> alleviate:
>
> const string[100] int__str;
> const int[string] str__int;
>
> for (int i = 0; i < 100; ++i)
> {
> auto str = to!string(i);
> int__str[i] = str; // ERROR: Can't modify const
> str__int[str] = i; // ERROR: Can't modify const
> }
>
> In short, I want to initialize two different const variables at
> once (in the same loop or other block). If I needed to
> initialize only one const variable, I could use a lambda:
>
> const string[100] int__str = {
> string[100] tmp;
> // ... init tmp ...
> return tmp;
> }();
>
This is easy to work around that using a mutable data, construct
it and then copy it to a const one.
You my argue that this is slower, and I answer you : maybe. Can
you show what does GDC or LDC output doing so ?
More information about the Digitalmars-d
mailing list