Bonjour,

Voici un mini programme de test:
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;
}
Result: "constructor".

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.