Bonjour je viens donné mon avis sur la question aussi .
Pour moi, "*" et "&" n'ont rien en commun (simple avis):
_ "*" correspond au type d'une variable
_ "&" correspond à une manière de traiter une variable
ensuite concernant la typologie de déclaration des variable, j'utilise la suivante:
"type" "utilisation" "nom";
Et ceux afin d'éviter les casse-tête avec les * et les &. Par exemple, une référence sur un pointeur, ça devient vite le casse-tête pour savoir où placer correctement l'étoile et le "&". Pire encore si il s'agit d'une référence sur un tableau de pointeur etc .......
Mais en appliquant ma méthodologie, ça devient plus simple.
Référence sur pointeur d'entier nommé ptr.
référence correspond à la manière d'utiliser la variable
pointeur d'entier correspond au type de variable
ptr correspond au nom de la variable
Ce qui donne:
ou
(Personnellement, je préfère la première, car plus jolie à lire).
De plus, en lecture rapide, on voit rapidement que l'on utilise une variable de type int*. La vue n'est pas parasité par le "&".
Ensuite concernant le const, je suis d'avis de le placer à droite de ce que l'on veut const. ça évite les confusion et donne des erreurs plus explicite:
L'habitude:
ne nous informe pas vraiment sur quoi est const, le pointeur ou les variable contenu dans le pointeur?
Contrairement aux notations:
qui indique que les int sont constant mais pas le pointeur
et
Qui indique que le pointeur est constant mais pas les valeurs.
Et enfin pour que tout soit constant:
int const * const tableau
Certes un peu trivial, mais bien explicite.
M'enfin, tout ceci n'est que mon humble avis .
Partager