¿Las enumeraciones de C ++ comienzan en 0?

Si tengo unenum que no asigna números a las enumeraciones, ¿será su valor ordinal 0? Por ejemplo:

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

He podido encontrar unpost citando que el estándar C99 requiere un número ordinal 0. Pero sé que C ++ ignora varias cosas en el estándar C99. Y también he podido encontrar unPublicar presenciar el compilador utilizando un valor ordinal de 1, algo que también recuerdo haber visto, aunque no puedo decir cuánto tiempo hace.

Realmente me gustaría ver una respuesta que confirme esto para C ++, pero también me gustaría saber si se cumple un ordinal 0incluso si Especifico un valor en el medio de unenum:

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

Respuestas a la pregunta(3)

Su respuesta a la pregunta