Bonjour,
j'ai des lacunes (entre autres) concernant les pointeurs intelligents. Je me demande ce que fait le code suivant, et en particulier s'il y a une fuite mémoire:
Mon interrogation porte sur la ligne 11 du code ci-dessus. Est-ce que l'objet pointé par p est correctement détruit puis reconstruit?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 class Foo { /* */ }; std::unique_ptr<Foo> BuildFoo( /* params */ ) { return std::unique_ptr<Foo>( new Foo( /* params */ ) ); } main() { std::unique_ptr<Foo> p = BuildFoo( /* params */ ); p = BuildFoo( /* params */ ); // <- problème ici }
Partager