Sto riscontrando un problema che comprende chiaramente esattamente cos'è un id-expression
. Comincerò seguendo quello che ho trovato nel più recente bozza di lavoro del C++ standard di partire con:Che cosa è esattamente un'espressione ID?
Avventurarsi alla definizione di un identifier
:
Un identificatore è una sequenza arbitrariamente lunga di lettere e cifre.
così sembra come qualsiasi lunga sequenza arbitraria di lettere e cifre può essere un id-expression
, ma aspetta:
Così il identifier
devono essere dichiarati prima in ordine per essere un id-expression
? Beh lascia oltre al capo clausola 7:
Continuando ...
Proseguendo ancora ...
Arriviamo qui:
Interpreto questo per significare un id-expression
richiede una identifier
da dichiarare, che presuppone un id-expression
. Sembra una definizione circolare. Qualcuno può dirmi dove ho sbagliato?
In ogni caso, la mia interpretazione è che l'identificatore deve essere dichiarato per primo in modo che possa essere considerato un id-expression
, ma non è davvero solo uno name
? Lo standard afferma che:
Ogni nome che denota un'entità viene introdotto da una dichiarazione.
Quindi perché non chiamarlo semplicemente uno name-expression
?
Ci sono nomi che non sono identificatori. –