As enumerações C ++ começam em 0?

Se eu tiver umenum que não atribui números às enumerações, seu valor ordinal será 0? Por exemplo:

enum enumeration { ZERO,
                   ONE,
                   TWO,
                   THREE,
                   FOUR,
                   FIVE,
                   SIX,
                   SEVEN,
                   EIGHT,
                   NINE };

Consegui encontrar umpostando que o padrão C99 requer um número ordinal 0. Mas eu sei que o C ++ ignora várias coisas no padrão C99. E também consegui encontrar umpostar testemunhando o compilador usando um valor ordinal de 1, algo que também me lembro de ter visto, embora não possa dizer há quanto tempo isso foi.

Eu realmente gostaria de ver uma resposta que confirme isso em C ++, mas também gostaria de saber se um 0 ordinal é válidomesmo se Eu especifico um valor no meio de umenum:

enum enumeration { ZERO,
                   ONE,
                   TWO,
                   THREE = 13,
                   FOUR,
                   FIVE,
                   SIX,
                   SEVEN,
                   EIGHT,
                   NINE };

questionAnswers(3)

yourAnswerToTheQuestion