Qual è lo stato di @ e $ caratteri in C ++?

4

La sintassi C ++ utilizza quasi tutti i caratteri ASCII stampabili e alcuni di essi in diversi contesti. Solo due inutilizzati sono caratteri @ e $. Perché non vengono utilizzati? Sono riservati per qualche scopo "meta"?

    
posta user3123061 14.01.2015 - 09:55
fonte

1 risposta

10

È implementazione definita (quindi dovresti evitare di usarli se ti interessa portabilità).

Alcuni compilatori (ad es. GCC ) accettano $ negli identificatori.

BTW, la backquote & grave; è anche inutilizzato in C ++.

Si noti che la definizione precoce dei linguaggi C o C ++ non richiedeva (e dove non veniva utilizzata) sui sistemi che utilizzavano ASCII. Questo spiega perché alcuni caratteri ASCII rimangono inutilizzati. (Alcuni sistemi utilizzavano EBCDIC e disponevano di un compilatore C).

Leggi anche i (brutti) trigraphs (potrebbero andare via in C++17 )

Tieni presente UTF-8 (forse alcuni compilatori lo accettano come estensione ...)

Poiché Jules ha commentato , leggi anche nome mangling .

    
risposta data 14.01.2015 - 10:06
fonte

Leggi altre domande sui tag