Bonjour !
J'ai vraiment du mal à comprendre la fonction move ou le fonctionnement du move constructor.
Je sais qu'elle peut faire plusieurs choses, typiquement utiliser une lvalue comme s'il s'agissait d'une rvalue.
Mais à la base, son but est de déplacer un objet ou de le réaffecter. En tout cas d'éviter une copie.
Or si j'ai une bête classe Animal et que j'écris ceci
Et bien j'ai deux objets distincts, comme si il y avait eu une copie !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Animal rob("Robert", "belier", 7); Animal rob2 = std::move(rob); rob2.setAge(22); rob2.saluer(); rob.saluer();
Est ce que quelqu'un peut m'éclairer s'il vous plait ?![]()
Partager