Salut à tous,
Considérons le code suivant :
À l'exécution, je devrais obtenir l'affichage suivant :
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 #include <iostream> using namespace std; struct A { A( const A& a ){ cout << "copy ctor" << endl; } A( int a ){ cout << "ctor 1 param" << endl; } }; int main () { A a = A (1);//appel du constructeur à un paramètre puis appel au constructeur par copie??? return 0; }
ctor 1 param
copy ctor
Or je n'obtiens que ctor 1 param.
Ma question est : est-ce une optimisation de mon compilateur ou un comportement défini dans la norme?
Partager