Bonjour à tous,

dans cette FAQ, il est écrit que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Fred::Fred() : x_() 
{ 
    x_ = n'importe quoi;
}
Dans ce cas, l'expression n'importe quoi provoque la création d'un objet temporaire
Etant sous-entendu que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Fred::Fred(valeur) : x_(valeur) 
{ 
}
Ne le fait pas.

1ere question:
Les 2 codes suivants sont-ils équivalent (est-ce que ce sera le même code ASM généré):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Fred::Fred() : x_() // avec liste d'initialisation, mais vide
{ 
    x_ = n'importe quoi; // et une affectation
}
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Fred::Fred() // sans liste d'initialisation
{ 
    x_ = n'importe quoi; // et une affectation 
}


2eme question
Connaissez-vous des cas précis où les 2 codes suivants ne sont pas identiques (pas le même code ASM généré):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Fred::Fred()  // sans liste d'initialisation
{ 
    x_ = n'importe quoi;
}
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Fred::Fred(valeur) : x_(valeur)    // avec liste d'initialisation
{ 
}
Parce que ça fait un moment que je cherche, avec des types composés et tout, mais à chaque fois l'asm est le même.