Do strings with enum allocate at usage point?
"岩倉 澪" via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Mar 17 11:21:15 PDT 2015
I often hear it advised to avoid using enum with arrays because
they will allocate at the usage point, but does this also apply
to strings?
strings are arrays, so naively it seems that they would, but that
seems odd to me.
I would imagine string literals end up in the data segment as
they are immutable.
As a continuation of this question, I know that string literals
have an implicit null delimiter, so it should be correct to pass
a "literal".ptr to a function taking a C-string, and presumably
this still applies when using enum.
However, if enum implies allocation at the usage point for
strings, one would be better served with static, meaning one
would need to be explicit: static foo = "bar\0"?
More information about the Digitalmars-d-learn
mailing list