将原始指针的所有权转移给unique_ptr

Mer*_*ain 2 c++ memory-leaks

我已经为新运算符分配了一个指针,并将内存的所有权分配给了一个新的unique_ptr.我是否必须删除使用new分配的指针?这里有内存泄漏吗?

#include <iostream>
#include <memory>

using namespace std;


int main()
{
    int *a = new int;

    *a = 5;
    std::unique_ptr<int> auptr;

    auptr.reset(a);
    int *b = auptr.get();
    cout << *b << endl;

    cout << *a << endl;



    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Sol*_*ury 5

没有.unique_ptr现在拥有所有权,当它超出范围时,它会被取消分配.