1
resposta

Diferença entre o comando "enum" e um vetor

Vi que o instrutor utilizou o comando "enum" para declarar um conjunto que neste caso representa os possíveis estados do jogo, porém fiquei com a duvida se poderia criar uma array para armazenar esses valores e acessa-los posteriormente, assim como fizemos com sequenciaLuzes, imagino que ficaria algo com essa cara:

int estados [] = {PRONTO_PARA_PROX_RODADA, USUARIO_RESPONDENDO, JOGO_FINALIZADO_SUCESSO, JOGO_FINALIZADO_FALHA};

ao invés de:

enum Estados{
  PRONTO_PARA_PROX_RODADA,
  USUARIO_RESPONDENDO, 
  JOGO_FINALIZADO_SUCESSO,
  JOGO_FINALIZADO_FALHA
};

Caso seja possível fazer através da criação de um vetor, há alguma razão especial para utilizar a função "enum"? Ou foi feito desta forma para que possamos conhecer este comando?

1 resposta

Oi Gustavo, tudo bem ?

Foi feito desta forma por didática, a fim de que vocês possam conhecer o comando. Mas ambos irão cumprir o objetivo, tanto se fizer com enum ou vetor, uma vez que ambos começam com o índice 0 e são ideais para definir uma "caixa" de itens. Porém, em um enum, você pode ditar a ordem que ele começa. Por exemplo:

enum Estados{
  PRONTO_PARA_PROX_RODADA = 12,
  USUARIO_RESPONDENDO, 
  JOGO_FINALIZADO_SUCESSO,
  JOGO_FINALIZADO_FALHA
};

Então, neste caso, a sequencia do enum seria 12,13,14,15. Pegou a ideia?

Qualquer dúvida é só falar, estou a disposição. Espero ter ajudado. Bons estudos!!!