¿Por qué los nombres de variables no pueden comenzar con números?

Estaba trabajando con un nuevo desarrollador de C ++ hace un tiempo cuando me hizo la pregunta: "¿Por qué los nombres de variables no pueden comenzar con números?"

No pude encontrar una respuesta, excepto que algunos números pueden tener texto (123456L, 123456U) y eso no sería posible si los compiladores estuvieran pensando que todo con cierta cantidad de caracteres alfabéticos es un nombre variable.

¿Era esa la respuesta correcta? ¿Hay más razones?

string 2BeOrNot2Be = "that is the question"; // Why won't this compile?

Respuestas a la pregunta(23)

Su respuesta a la pregunta