我习惯使用enum
作为常量 -- 它们编写快捷,可以放置在.h文件中,并且运行良好。
enum {BOX_LEFT=10, BOX_TOP=50, BOX_WIDTH=100, BOX_HEIGHT=50};
enum {REASONS_I_LIKE_ENUM_AS_CONSTANTS = 3};
这还是一个好主意吗?
我看到了一些很好的原因来支持枚举类(普通枚举隐式转换为int; 普通枚举将它们的枚举器导出到周围范围),但在这种情况下,这些都是支持使用旧枚举的理由。
我在static constexpr int vs old-fashioned enum线程中看到,旧式枚举更好,因为使用静态constexpr成员时,您还必须在类外声明它。 但这在C++17中显然不再适用,而且可能仅适用于类成员。
c++17中的首选方式是什么?
const
和constexpr
变量是否应该是inline
以防止ODR违规? - Acorn