validos son reservadas reglas programacion para palabras menciona manera los lenguaje las identificadores identificador general ejemplos cuáles construcción c++ identifier

c++ - son - reglas de los identificadores en programacion



¿Se permiten los signos de dólar en los identificadores en C++ 03? (7)

En C ++ 03, las respuestas dadas anteriormente son correctas: son ilegales. En C++11 la situación cambió sin embargo:

La respuesta aquí es "Tal vez" :
De acuerdo con §2.11 , los identificadores pueden consistir en dígitos e identificador-no-dígitos , comenzando con uno de estos últimos. identifier-nondigits son los az , AZ y subrayado habituales, además, desde C ++ 11 incluyen nombres de caracteres universales (por ejemplo, /uBEAF , /UC0FFEE32 ) y otros caracteres definidos por la implementación . Por lo tanto, se define la implementación si se permite usar $ en un identificador. VC10 y versiones superiores lo admiten, tal vez versiones anteriores también. Incluso admite identificadores como こんばんは .

Pero: no los usaría. Haga los identificadores tan legibles y portátiles como sea posible. $ es la implementación definida y por lo tanto no es portátil.

¿Qué dice el estándar de C ++ sobre el uso de signos de dólar en identificadores, como Hello$World ? ¿Son legales?


Ilegal. Creo que el signo de dólar y la marca inversa son los únicos signos de puntuación en mi teclado que no se usan en C ++ en alguna parte (el signo "%" está en cadenas de formato, que están en C ++ por referencia al estándar C).


La sección relevante es "2.8 Identificadores [lex.name]". Del conjunto de caracteres básico, los únicos caracteres válidos son AZ az 0-9 y _. Sin embargo, también se permiten caracteres como é (U + 00E9). Sin embargo, dependiendo de su compilador, es posible que deba ingresar é como / u00e9.


No es legal, pero muchos, si no la mayoría, de los compiladores los admiten, tenga en cuenta que esto puede depender de la plataforma, por lo que gcc en el brazo no los admite debido a las restricciones de ensamblaje.


No son legales en C ++. Sin embargo, algunos lenguajes derivados de C / C ++ (como Java y JavaScript) los permiten.


Son ilegales Los únicos caracteres legales en los identificadores son letras, números y _. Los identificadores tampoco pueden comenzar con números.


Un identificador de c ++ se puede componer de cualquiera de los siguientes: _ (guión bajo), los dígitos 0-9, las letras az (mayúsculas y minúsculas) y no puede comenzar con un número.

Hay una serie de excepciones, ya que C99 permite extensiones al estándar (por ejemplo, estudio visual ).