Given the following:
{
std::unique_ptr<char[]> foo;
foo = std::make_unique<char[]>(100);
foo = std::make_unique<char[]>(200);
}
Does the memory allocated in the first call to make_unique get freed when reassigning foo with the second call?