Lo he preferido int* i
por años. Sin embargo, hay un fuerte argumento para int *i
porque cuando se usa el estilo anterior, aún debe recordar la regla de declaración múltiple:
int* a, *b; // not int* a, b;
Como debes recordar esta regla, no obtienes ninguna de forma explícita, pero tampoco diría que es más compleja. Evitar múltiples declaraciones en una línea es solo otra forma de decir que recuerda esta regla. La diferencia entre los dos estilos es discutible.
Sin embargo, incluso cuando lo uso, se siente un poco tonto fingir que la sintaxis de declaración C funciona de otra manera, colocando el asterisco al lado del tipo en lugar de la variable a la que está sintácticamente vinculado.
Yo no creo en que uno hace hincapié en el tipo de puntero (para i
) mientras que el otro hace hincapié en el tipo int (para *i
), pero que puede ser que después de 15 años de uso C y C ++, sólo es cuando miro a ella, sin tener que pensarlo, algo que la mayoría de los principiantes que hacen esta pregunta aún no pueden hacer.
Además, incluso dada mi preferencia, no me resulta incómodo leer / escribir código en el otro estilo. Consistencia, bla bla bla.
No hay necesidad de mencionarlo int * i
.