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"?
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"?
È 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 .
Leggi altre domande sui tag c++