Bonjour

J'essaie de prendre de plus en plus l'habitude d'utiliser des références au lieu de pointeur dans mes codes C++. Ce n'est pas facile car jusqu'à maintenant, j'ai beaucoup utilisé de pointeurs et changer les habitudes n'est pas évident.

J'ai lu l'article "Pointeurs vs Références" dans la FAQ mais je n'arrive pas vraiment à comprendre dans la pratique où on utilise des références et où on utilise des pointeurs.

Je me posais par exemple la question suivante. Si dans une fonction on crée un objet, on est obligé de le faire dynamiquement (avec new) si l'on souhaite que la durée de vie de l'objet continue après l'exécution de la fonction.

J'imaginais donc la syntaxe suivante pour cette fonction si l'on souhaite créer (par exemple) une matrice dans la fonction et avoir en retour une référence vers cette matrice (au lieu d'un pointeur) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Matrix & function()
{
    Matrix * mat = new Matrix(3,5);
    return (*mat);
}
Je voulais donc savoir si ce genre de truc était vraiment utilisé ou pas ? Je voulais aussi savoir si c'était fréquent d'avoir des référence en retour de fonction ?

Si vous avez quelques conseils concernant l'utlisation de références à la place de pointeurs, n'hesitez pas.

Merci d'avance de vos réponse.