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