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>archivo de cabecera. Estos tokens fueron creados por Bjarne Stroustrup para el lenguaje C++ preestándar [ 1 ] y se añadieron al estándar C en una enmienda de 1995 al estándar C90 mediante una biblioteca para evitar la ruptura del código existente.
Los tokens alternativos permiten a los programadores usar operadores lógicos y bit a bit del lenguaje C que, de otro modo, serían difíciles de escribir en algunos teclados internacionales y que no son QWERTY . El nombre del archivo de cabecera donde se implementan 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.
Las macros
El <iso646.h>encabezado define las siguientes 11 macros como se indica a continuación: [ 2 ]
C++
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 mayor coherencia, el estándar C++98 proporcionó tanto <iso646.h>como un correspondiente <ciso646>. Sin embargo, ambos no tenían efecto, ya que estaban vacíos. [ 4 ] [ 5 ] Algunos compiladores, como Microsoft Visual C++ , al menos en el pasado, requerían que se incluyera el encabezado para usar estos identificadores a menos que se estableciera una bandera del compilador. [ 6 ] [ 7 ] El encabezado <ciso646>fue obsoleto en C++17 y eliminado en C++20 , [ 8 ] mientras que <iso646.h>se conservó para compatibilidad con C. [ 9 ]
Véase también
Referencias
- ↑ "CppCon 2017: Panel "Interrogar al Comité"" . YouTube . Archivado del original el 12/12/2021.
- ↑ "Fundamentos del estándar internacional - Lenguajes de programación - C" (PDF) . 5.10. Abril de 2003. Archivado (PDF) del original el 6 de junio de 2016. Consultado el 17 de octubre de 2010 .
- ↑ Stroustrup, Bjarne (29 de marzo de 1994). Diseño y evolución de C++ (1.ª ed.). Addison-Wesley Publishing Company . ISBN 0-201-54330-3.
- ↑ Lischner, Ray (2003). C++ en pocas palabras . O'Reilly Media . pág. 384. ISBN 0-596-00298-X.
- ^ Van Weert, Peter; Grégoire, Marc (2019). Referencia rápida de la biblioteca estándar de C++17 . Presione. pag. 277.ISBN 9781484249239.
- ↑ Deitel, Paul; Deitel, Harvey M. (2013). C++11 para programadores . Pearson Education. pág. 928. ISBN 9780133439878.
- ↑ "Operador lógico AND: " . Microsoft Docs . 23/11/2021. Archivado del original el 28/12/2021 . Consultado el 27/12/2021 .
&& - ↑ Whitney, Tyler (2021-12-07). "<ciso646>" . Microsoft Learn .
- ↑ Köppe, Thomas (11 de junio de 2021). "Aclaración del estado de los "encabezados C"" . Documentos del Comité de Estándares de C++ . ISO/IEC JTC1 SC22 WG21. Archivado del original el 11/01/2024.
Enlaces externos
- : ortografías alternativas – Referencia de definiciones básicas, Especificación única de UNIX , Versión 5 de The Open Group
- C (lenguaje de programación)