Movable non-copiable et sémentique d'entité
Une question toute bête,
Mais est-ce qu'une sémentique d'entité à des raisons, au niveau conception, d'être movable et non copiable ?
Pour une fstream, ou un unique_ptr, cela parait évident, mais dans une conception, en reprenant l'exemple de la FAQ du compte en banque, serait-il juste de le considérer movable ?
Si oui, j'ai du mal à imaginer conceptuellement ce qu'un move.
Si non, je dois avouer que je préfererais stocker une fonction create
Code:
1 2 3 4
|
T create<T>(std::vector<boost::any> arg) {
return T(arg);
} |
comme ceci dans mes factory... Ou chaque appel ferait appelle au constructeur et au move constructeur, avec la possibilité donc de stocker le retour de mes factory dans a pile.
Je me demande vraiment du coup si le move à un sens, ou si il est juste pratique ? Merci pour toute réponse.