【发布时间】:2020-02-02 16:45:59
【问题描述】:
在这段代码中:
void f(std::unique_ptr<int> q)
{
}
void g()
{
std::unique_ptr<int> p{new int{42}};
f(std::move(p));
}
在哪一行 p 被释放?我会在 f 函数的出口处说,因为它是使用 std::move 移动到那里的,但我不确定也不确定这个答案。
【问题讨论】:
标签: c++ c++11 memory-management smart-pointers unique-ptr