44 votes

Comment retourner un objet de classe par référence en C++ ?

J'ai une classe appelée Object qui stocke certaines données.

Je voudrais le renvoyer par référence en utilisant une fonction comme celle-ci :

    Object& return_Object();

Ensuite, dans mon code, je l'appellerais comme ceci :

    Object myObject = return_Object();

J'ai écrit un code comme celui-ci et il se compile. Cependant, lorsque j'exécute le code, j'obtiens systématiquement un seg fault. Quelle est la bonne façon de renvoyer un objet de classe par référence ?

0voto

firefox256 Points 1

Ce n'est pas vraiment une bonne pratique de renvoyer un objet initié car il sort de la portée. Il y a de rares cas où c'est l'option souhaitée. Cela peut être fait si la classe fait référence à un pointeur intelligent de comptage ou à un autre pointeur intelligent. Comment fonctionne le comptage de référence d'un pointeur intelligent ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X