Bonjour,
Voici un mini programme de test:
Result: "constructor".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #include <iostream> class A{ public: A(){ std::cout<<"constructor"<<std::endl; } A(const A&b){ std::cout<<"copy"<<std::endl; } }; A fct(){ A myClass; return myClass; } int main() { const A &myResult = fct(); return 0; }
Est-ce que ce programme est correcte ?
Dans la fonction 'fct', je crée une variable 'myClass' qui a une durée de vie égale à la fonction.
Je récupère sa référence dans myResult. Cette référence, est-elle encore correcte une fois l'appel à 'fct' terminée ?
Merci d'avance.
Partager