Bug 3999 and 4261

Don nospam at nospam.com
Wed Sep 1 01:15:32 PDT 2010


Rainer Deyke wrote:
> On 8/31/2010 19:46, bearophile wrote:
>> But you can use const for constants that are known at run-time only.
>> While you can't use enum for constant known at run-time.
> 
> In C++, const is used for both run-time and compile-time constants.  In
> practice, this works out fine.  It its value can only be known at
> run-time, it's a run-time constant.  If its value is used at
> compile-time, it's a compile-time constant.  If both of these apply,
> it's an error.  If neither applies, nobody cares if it's a compile-time
> or run-time constant.
> 
> (The actual rules in C++ are a bit more complex, less intuitive, and
> less useful than that, which is presumably why Walter chose not to copy
> the C++ in this case.  Still, overloading 'const' for both compile-time
> and run-time constants is viable, and more intuitive than the current
> situation with 'enum'.)

The enum situation exists ONLY because of linker limitations. It seems 
most people still don't understand that.


More information about the Digitalmars-d mailing list