Fonction retournant une valeur constante

Le
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

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Jean-Marc Bourguet
Le #140664
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) ?


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

Poster une réponse
Anonyme