Consider simple code below which crashes:
#include <iostream>
struct test
{
int *x;
test(){ x = new int;}
~test(){delete x;}
};
int main() {
test x;
test y = std::move(x);
return 0;
}
My question is that when object’s resources are moved by std::move
, what will happen when its destructor is called as natural course of object going out of scope? Does that mean we should not call std::move
for object on stack?
Aucun commentaire:
Enregistrer un commentaire