enum abuse
Vladimir Panteleev
vladimir at thecybershadow.net
Fri Feb 28 03:47:43 PST 2014
On Friday, 28 February 2014 at 11:27:31 UTC, Mike wrote:
> I recently saw the following line of code:
>
> enum size = __traits(classInstanceSize, Foo);
>
> Why "enum"? Is this the equivalent of "immutable auto" or
> something?
A "const" or "immutable" declaration would declare a constant
variable - meaning, unless it is optimized out at a later point,
it will end up in the data segment and have its own address. An
enum declares a manifest constant - it exists only in the memory
of the compiler. Manifest constants make sense when doing
metaprogramming. Constant/immutable declarations make sense for
values that will be used in multiple places by code at runtime.
More information about the Digitalmars-d-learn
mailing list