为什么Phobos使用enum来定义常量?例如,在std.math中:
enum real E = 2.7182818284590452354L;为什么不使用全局immutable?与immutable相比,enum的优点/缺点是什么
发布于 2010-09-02 08:18:04
通常,对于编译时常量而不是运行时常量,使用枚举没有坏处,它的优点是使您的意图绝对清晰,并且效率略有提高。
编辑:枚举的另一个用例可以消除编译器的歧义,即函数应该在运行时还是编译时求值。如果将函数的结果赋给immutable堆栈变量,则会在运行时对该函数进行求值。如果在相同的作用域中使用enum,则将在编译时计算结果。
发布于 2010-09-02 08:47:35
D enum A = B;中的IIRC与C中的IIRC大同小异。在任何使用它的表达式中,IIRC总是作为文字嵌入其中。
https://stackoverflow.com/questions/3622697
复制相似问题