(Je ne fais que l'intermédiaire de cette discussion, juste un peu mise en forme).

Effectivement je pense que l'on pourrait remplacer cette entrée: Pourquoi certaines fonctions membres possèdent le mot clé const après leur nom ?
par quelque chose comme:

Le mot-clé const

const se réfère toujours à ce qui est a gauche, sauf si c'est le premier terme, dans ce cas ca se réfère a ce qui est à droite

Les 2 lignes suivantes sont donc équivalentes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
type const maFonction();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
const type maFonction();
elles indiquent que la valeur de retour est de type "type" mais constante.

Idem pour les pointeurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
type const * maFonction();
ici, on indique qu'il s'agit d'un pointeur sur des type const.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
type* const maFonction();
ici, un pointeur constant sur type que l'on peut modifier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
type const * const * maFonction();
ici, un pointeur sur un pointeur const qui pointe sur des type const.

Si c'est a droite d'une méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
class A
{
    type maFonction() const;
};
cela signifie qu'au sein de la méthode, this, au lieu d'être un pointeur sur A, sera un pointeur sur A const, donc les champs seront const.
merci screetch