Ho studiato matrici in questi giorni. Mi sono imbattuto in una dichiarazione di un array e l'inizializzazione del suo elemento in questo modo:C++: int x [+30] è una dichiarazione valida?
int x[+30];
x[+1]=0;
Questo mi confonde un po '. Ho il concetto in mente che quando scriviamo:
x[n]=0;
allora vuol dire:
*(x+n)=0;
Poi la scrittura x[+1]
significherebbe *(x++1)
e questo sembra valido. Per favore correggimi per l'errore che sto facendo nella comprensione di questo concetto.
note, '* (x ++ 1)' non valido perché '++' è un operatore di incremento, espressione analizzata come '* ((x ++) 1)' –
@ utkarsh867: che cosa è l'uso di specificare la capacità di matrice esplicitamente a essere + ve? –
Nota che '* (x + + 1)' ** è ** valido. La regola importante qui è che la trasformazione funziona al livello ** token **, non al livello ** character **. – MSalters