std::vector<int> v1 = {1, 2, 3, 4};
std::vector<int> v2 = {5, 6, 7, 8};
v1 = std::move(v2);
What happened to the memory allocated on the heap for v1. Has it been destroyed after the move assignment operator has been called? Or is there a potential memory leak here?