Bonjour à tous,

Voici la fonction suivante qui recois une variable int "i", et qui la retourne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int returnArg(int i)
{
return i;
}
Comme la fonction ne modifie l'argument i, on peut la rendre constante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int returnArg(const int i)
{
return i;
}
Si cette fonction était placé dans une classe, comme elle ne fait pas appelle aux variable membre et donc ne les modifies pas, on en arrive à ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int returnArg(const int i) const
{
return i;
}
Jusque là je saisi tout, mais quand on fait usage à un pointeur ou une référence, comment s'y prendre, pour :
-Ne pas modifier l'adresse du pointeur ou ne pas modifier la référence
-Ne pas modifier la valeur du pointeur ou de la référence

J'ai déjà vu quelque chose du genre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
int returnArg(const int* i const) const
{
return i;
}
Mais je ne serais pas vraiment le définir... Merci à ceux qui sauront m'éclaircir d'avantage.