Bonjour,
J'ai actuellement une fonction qui, une fois simplifi�e, ressemble � �a :
Ma question est : pourquoi le move est-il n�cessaire ?
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 #include <memory> struct Base {}; struct Derived : Base {}; std::unique_ptr<Base> foo() { std::unique_ptr<Derived> ptr; return std::move(ptr); }
Pourquoi le code-suivant ne fonctionne-t-il pas ?
En effet, il me semblait que le move �tait implicite au moment d'un return.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10 #include <memory> struct Base {}; struct Derived : Base {}; std::unique_ptr<Base> foo() { std::unique_ptr<Derived> ptr; return ptr; }
O� me trompe-je ?
Je vous remercie d'avance,
Equinoxe
Partager