10 points par 0xwof 2022-09-29 | 3 commentaires | Partager sur WhatsApp
  1. int *p repose sur la logique selon laquelle le type de *p est int.
  2. int* p repose sur la logique selon laquelle le type de p est « pointeur vers int ».
  3. 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)
  4. Si l’on ne déclare pas plusieurs variables sur une même ligne, ce problème ne se pose pas.
  5. Le concepteur initial du C++ lui-même estime que les deux sont corrects, mais préfère davantage int* p.

3 commentaires

 
penza1 2022-09-29

Le code est décidément une forme de littérature.

 
kayws426 2022-09-29
  1. Programmeur C : écrit int *p et explique que le type de *p est int
  2. Programmeur C++ : écrit int* p et explique que le type de p est un pointeur vers int

« Whenever something is a matter of taste, discussions can drag on forever. »

 
kayws426 2022-09-29

C'est anecdotique, mais

  1. Je ne savais pas qu'il existait un site web à son nom.
  2. Ce site utilise le serveur web Apache, est écrit en C et emploie la forme int *p.