ho visto il seguente codice da alcuni codici legacy:significato di `??? - codice` in C++
size_t a = 1 ???- 2 :0;
Cosa significa il simbolo ???-
significa in C++? Come dovrei capirlo?
Grazie!
ho visto il seguente codice da alcuni codici legacy:significato di `??? - codice` in C++
size_t a = 1 ???- 2 :0;
Cosa significa il simbolo ???-
significa in C++? Come dovrei capirlo?
Grazie!
In realtà è:
size_t a = 1 ? ~2 :0;
??-
è un trigraph per ~
trigrammi sono da una vecchia era ... prima che alcuni di noi erano ancora nati.
Indietro nei giorni, c'erano alcuni caratteri che non erano sempre supportati. Un programmatore inconsapevole proverebbe a digitare un tale personaggio solo per scoprire che non esiste sulla tastiera!
Fonte immagine: http://www.myoldmac.net/cgi-data/forum/phpBB2/viewtopic.php?t=305
Quindi sono stati aggiunti trigrammi per consentire al programmatore di accedere alla funzionalità di questi personaggi, quando non esistevano (sia nella codifica o dalla tastiera).
Al giorno d'oggi, sono obsoleti e sono più efficaci nel confondere il lettore che nell'ottenere vecchi standard.
Quindi, quel codice è davvero vecchio, o l'autore era un idiota.
Ho visto la notifica comparire come 10 millisecondi prima di fare clic e non potevo fare nulla al riguardo: p – chris
Grazie! Questo è strano per me però. – taocp
Io voto per (b), l'autore era un coglione. 'a = 1? ~ 2: 0' è una lunga mano offuscata per 'a = ~ 2'. L'operatore trinario è lì solo per una ragione: per offuscare il codice. Aggiungendo il trigrafo per offuscare la tilde, la gelatina si è appena raffreddata. –
??-
è un trigraph per la tilde ~
carattere; la linea è equivalente a:
size_t a = 1 ? ~2 :0;
??-
è un trigraph per ~
carattere. Alcuni altri trigrammi sono:
??= for #
??/ for \
??' for^
??! for |
L'utilizzo di trigrammi sono molto rare oggi.
* "L'uso dei trigraph è molto raro ora." * - non in SO. –
Probabilmente anche su Programming Puzzles e sul sito Code Golf – 707
@Yawz, penserei che vadano con '~' oltre '?? -' se solo per il conteggio dei caratteri. – TankorSmash
'???' deve essere utilizzato solo nei commenti. :) –
Sarebbe divertente trovare un significato falso per questo operatore. '??? -' potrebbe essere il 'Davvero ??? Sono scioccata!' operatore, un '?' che suggerisce al compilatore che il primo ramo è raro da prendere, per esempio. – Patashu
menzione operatore WTF obbligatorio: ??! ??! – chris