Qu'est-ce que std::move() et quand faut-il l'utiliser en C++ ?
Bonjour, collègues ! J'ai récemment commencé à étudier C++11 et je suis tombé sur std::move(). J'ai lu la documentation, mais je n'ai pas complètement compris ce que c'est et à quoi ça sert. J'ai ce code :
```cpp
#include
#include
#include
class MyClass {
public:
std::string data;
MyClass(const std::string& str) : data(str) {}
};
int main() {
std::vector vec;
std::string bigString = "très longue chaîne qui prend beaucoup de mémoire...";
// Option 1 : on ajoute simplement
MyClass obj1(bigString);
vec.push_back(obj1);
// Option 2 : on utilise std::move
MyClass obj2(bigString);
vec.push_back(std::move(obj2));
return 0;
}
```
Je comprends que std::move() est lié au déplacement, pas à la copie.
No answers yet.
Connectez-vous pour laisser une réponse