J'utilise C++ 11 depuis un certain temps mais j'ai toujours évité d'utiliser std :: move parce que j'avais peur, en lisant une bibliothèque où l'utilisateur ne pas avoir l'accès au code, il essaierait d'utiliser la variable après l'avoir déplacée.Utilisation de std :: move et prévention d'une utilisation ultérieure des données
Donc, fondamentalement, quelque chose comme
void loadData(std::string&& path);
ne serait pas suffisant pour faire comprendre à l'utilisateur qu'il sera déplacé. Est-il prévu que l'utilisation de & & impliquerait que les données seront déplacées. Je sais que les commentaires peuvent être utilisés pour expliquer le cas d'utilisation, mais beaucoup de gens ne font pas attention à cela.
Est-il sûr de supposer que lorsque vous voyez un & & les données seront déplacées, ou quand dois-je utiliser std :: move et comment le rendre explicite à partir de la signature.