具有重复的枚举器值

whi*_*win 1 c++ enums

我正在用C++创建一个俄罗斯方块克隆,我有一个枚举GameProperty,具体如下:

enum GameProperty {
    NUM_OF_TETROMINOES  = 7,
    NUM_OF_TILES        = 4,
    TETROMINO_ROTATIONS = 4
};
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我在循环通过tetromino的瓷砖时使用这些值,例如:

for (int i = 0; i < TETROMINO_TILES; i++) { }
Run Code Online (Sandbox Code Playgroud)


在任何具有相同价值的多个普查员的情况下,是否认为是不良做法?

Dav*_*rtz 7

这些不应该是单一的价值观enum.它们应该是独立的常量.要了解原因,请查看代码i < TETROMINO_TILES.比较a integer和a GameProperty可以有像这样的值TETROMINO_ROTATIONS.这是没有意义的.