New*_*ewB 0 c++ unique-ptr dangling-pointer
C++代码:
unique_ptr<int> a = make_unique<int>(159);
auto var = a.get(); // Edited a => a.get() sorry
a.release();
std::cout<<*var<<std::endl; // prints "159"
Run Code Online (Sandbox Code Playgroud)
var在这段代码之后是悬空指针吗?
您的代码完全有效.a.release()从唯一指针中分离动态分配的对象,因此a不再拥有整数,但没有删除任何内容.
delete var但是,除非你最终没有打电话,否则你会有内存泄漏.