unique_ptr: вызов make_unique дважды один за другим - PullRequest
0 голосов
/ 15 ноября 2018

1 std::unique_ptr< Test[] > upt(std::make_unique< Test[] >(2));

// Здесь нет утечек, так как происходит сброс, что приведет к освобождению.

3 upt = (std::make_unique< Test[] >(1));

В приведенном выше фрагменте, при вызове строки 3, дважды вызывается деструктор Test и выделяет память для массива размером 1,

Итак, кто вызывает сброс? Это make_unique это делает? Кроме того, я могу получить подробную реализацию make_unique и make_shared.

...