significado de'???- 'en código C++ [duplicado]
Esta pregunta ya tiene una respuesta aquí:
- ¿Qué hace la C ??!??! ¿operadora? 4 respuestas
Vi el siguiente código de algunos códigos heredados:
size_t a = 1 ???- 2 :0;
¿Qué significa el símbolo ???-
en C++? ¿Cómo debería entenderlo?
¡Gracias!
3 answers
En realidad es:
size_t a = 1 ? ~2 :0;
??-
es un trigraph para ~
Los trigraphs son de una era antigua... antes de que algunos de nosotros naciéramos.
En aquellos días, había algunos personajes que no siempre eran compatibles. Un programador desconocido intentaría escribir un carácter de este tipo solo para encontrar que no existe en el teclado!
Fuente De La Imagen: http://www.myoldmac.net/cgi-data/forum/phpBB2/viewtopic.php?t=305
Así que se agregaron trigraphs para permitir al programador acceder a la funcionalidad de estos caracteres cuando no existían (ya sea en la codificación o desde el teclado).
Hoy en día, son obsoletos y son más eficaces para confundir al lector que para sortear los viejos estándares.
Entonces, o ese código es muy antiguo, o el autor estaba siendo un idiota.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-21 09:29:59
??-
es un trigráfico para el carácter tilde ~
; la línea es equivalente a:
size_t a = 1 ? ~2 :0;
??-
es un trigráfico para el carácter ~
. Algunos otros trigraphs son:
??= for #
??/ for \
??' for ^
??! for |
El uso de trigraphs es muy raro ahora.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-24 15:01:00