Ho preferito int* i
per anni. Tuttavia, esiste un argomento forte int *i
perché, quando si utilizza lo stile precedente, è comunque necessario ricordare la regola delle dichiarazioni multiple:
int* a, *b; // not int* a, b;
Poiché devi ricordare questa regola, non ne guadagni in modo semplice, ma non direi che è anche più complesso. Evitare dichiarazioni multiple su una riga è solo un altro modo per dire che ricordi questa regola. La differenza tra i due stili è discutibile.
Anche se lo uso, tuttavia, sembra un po 'sciocco far finta che la sintassi della dichiarazione C funzioni diversamente da quella, posizionando l'asterisco accanto al tipo anziché alla variabile a cui è sintatticamente associato.
Io non comprare in quella enfatizza il tipo di puntatore (per i
), mentre l'altro sottolinea il tipo int (per *i
), ma che può essere che dopo 15 anni di utilizzo C e C ++, semplicemente è quando la guardo, senza dovendoci pensare —qualcosa che la maggior parte dei principianti che pone questa domanda non può ancora fare.
Inoltre, nonostante le mie preferenze, non trovo imbarazzante leggere / scrivere codice nell'altro stile. Coerenza, bla bla blah.
Non c'è nemmeno bisogno di menzionarlo int * i
.