3.2.1 Palabras clave
§1 Sinopsis
Las palabras clave ("Keywords") son identificadores utilizados por el lenguaje para fines especiales, y no pueden ser utilizadas como identificadores (por esta razón se suelen denominar también palabras reservadas). Por ejemplo, no pueden ser utilizadas como nombres de variables, clases o funciones.
El primitivo C de Kerningham y Ritchie tenía solo 27; el C estándar las amplió a 32, y C++ añadió algunas más. Hay que advertir que aunque el Estándar C++ define perfectamente cuales son las palabras reservadas, incluidas a continuación, los compiladores pueden incluir algunas otras por su cuenta, que son por tanto dependientes de la plataforma.
Nota: recordar que el compilador C++Builder dispone de una opción -A
de compilación (
1.4.3)
que permite forzar las reglas a ANSI C++ estricto, con el fin de conseguir un
código lo más portable posible. Con esta opción, las palabras clave
no estrictamente ANSI son ignoradas como tales. El resto de compiladores (MS Visual y GCC) tienen opciones similares.
§2 Palabras clave del C++ Estándar
| Keyword | referencia | Keyword | referencia | Keyword | referencia |
| asm | and | and_eq | |||
| auto | bitand | bitor | |||
| bool | break | case | |||
| catch | char | class | |||
| compl | const | const_cast | |||
| continue | default | delete | |||
| do | double | dynamic_cast | |||
| else | enum | explicit | |||
| export | extern | false | |||
| float | for | friend | |||
| goto | if | inline | |||
| int | long | mutable | |||
| namespace | new | not | |||
| not_eq | operator | or | |||
| or_eq | private | protected | |||
| public | register | reinterpret_cast | |||
| return | short | signed | |||
| sizeof | static | static_cast | |||
| struct | switch | template | |||
| this | throw | true | |||
| try | typedef | typeid | |||
| typename | union | unsigned | |||
| using | virtual | void | |||
| volatile | wchar_t | while | |||
| xor | xor_eq |
En este apartado estudiaremos las palabras clave C++, que por una u otra
razón no sean introducidas en ningún otro epígrafe. Para distinguirlas del
resto, a lo largo de esta obra, cuando aparecen fuera del código fuente, se
imprimen en negrita y color negro. Por ejemplo, int es una palabra clave...
Nota: las palabras clave __try y try son una excepción. Dentro del
mecanismo de manejo de excepciones de C++ (
1.6), la palabra try
es necesaria como contraparte de catch. Por otra parte, try no puede ser sustituida por __try.
La palabra clave __try solo se utiliza emparejada con __except o __finally.