Los tokens alternativos de C se refieren a un conjunto de grafías alternativas de operadores comunes en el lenguaje de programación C. Se implementan como un grupo de macroconstantes en la biblioteca estándar de C en el iso646.h
encabezado. Los tokens fueron creados por Bjarne Stroustrup para el lenguaje C++ preestándar [1] y se agregaron al estándar C en una enmienda de 1995 al estándar C90 a través de una biblioteca para evitar la rotura del código existente.
Los tokens alternativos permiten a los programadores utilizar operadores lógicos y bit a bit en lenguaje C que, de otro modo, podrían ser difíciles de escribir en algunos teclados internacionales y no QWERTY . El nombre del archivo de encabezado en el que están implementados hace referencia al estándar ISO/IEC 646 , un conjunto de caracteres de 7 bits con varias variaciones regionales, algunas de las cuales tienen caracteres acentuados en lugar de los signos de puntuación utilizados por los operadores de C.
El iso646.h
encabezado define las siguientes 11 macros como se indica a continuación: [2]
Los identificadores mencionados anteriormente son palabras clave de operador en el lenguaje de programación ISO C++ y no requieren la inclusión de un archivo de encabezado. [3] Para mantener la coherencia, el estándar C++98 proporcionó ambos <iso646.h>
y el correspondiente <ciso646>
. Sin embargo, ambos no tuvieron ningún efecto, ya que estaban vacíos. [4] [5] Algunos compiladores, como Microsoft Visual C++ , al menos en el pasado, han requerido que se incluya el encabezado para poder usar estos identificadores a menos que se establezca un indicador del compilador. [6] [7] El encabezado <ciso646>
quedó obsoleto en C++17 y se eliminó en C++20 , [8] aunque <iso646.h>
se mantuvo por compatibilidad con C. [9]