Entrambe le seguenti sono dichiarazioni di puntatori valide in C / C ++:
int *x;
int* x;
Il primo sembra essere preferito dai programmatori C / C ++ esperti. Personalmente trovo che quest'ultimo sia più facile da capire - illustra che il puntatore è un fattore del tipo della variabile, non il suo nome. Inoltre, questo unifica stilisticamente la dichiarazione di puntatori e funzioni che restituiscono puntatori:
int* foo(); //foo returns an int*
int* x; //x is an int*
int *foo(); //generally unused (in my experience)
int *x; //feels wrong in this context
int *x
sembra controintuitivo nonostante sia la norma, quindi ritengo di dover trascurare qualcosa.
Che cosa motiva la preferenza sintattica per quanto riguarda la dichiarazione del puntatore in C / C ++?