Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction retournant une valeur constante

1 réponse
Avatar
Julien Lamy
Bonjour,
Je voudrais savoir ce qui peut motiver que la valeur de retour d'une
fonction (membre ou non) soit constante, dans le cas où on renvoit une
valeur (pas de référence ni de pointeur).
Par exemple :
--
class A;
A f1()
{
A a;
// faire quelque chose
return a;
}
A const f2()
{
A a;
//
return a;
}
--
Dans quels cas est-il justifié d'utiliser f2 (la version const) ?

Merci,
--
Julien

1 réponse

Avatar
Jean-Marc Bourguet
Julien Lamy writes:

Bonjour,
Je voudrais savoir ce qui peut motiver que la valeur de retour d'une
fonction (membre ou non) soit constante, dans le cas où on renvoit une
valeur (pas de référence ni de pointeur).
Par exemple :
--
class A;
A f1()
{
A a;
// faire quelque chose
return a;
}
A const f2()
{
A a;
//
return a;
}
--
Dans quels cas est-il justifié d'utiliser f2 (la version const) ?


Ce n'est pas tellement idiomatique de le faire. Ca permet d'interdire
d'appler les membres non const de A. Par exemple

f2().unMembreNonConst(...);

et meme,

f2() = ....;

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org