int *p repose sur la logique selon laquelle le type de *p est int.
int* p repose sur la logique selon laquelle le type de p est « pointeur vers int ».
- Lorsqu’on déclare plusieurs variables sur une même ligne,
int *p prête moins à confusion.
int *p0, p1; // p0 :: int*, p1 :: int
int* p0, p1; // p0 :: int*, p1 :: int (int* peut facilement être pris à tort pour le type de p1)
- Si l’on ne déclare pas plusieurs variables sur une même ligne, ce problème ne se pose pas.
- Le concepteur initial du C++ lui-même estime que les deux sont corrects, mais préfère davantage
int* p.
3 commentaires
Le code est décidément une forme de littérature.
int *pet explique que le type de*pestintint* pet explique que le type depest un pointeur versint« Whenever something is a matter of taste, discussions can drag on forever. »
C'est anecdotique, mais
int *p.