在执行超出堆栈对象范围之前释放堆栈对象?

时间:2017-09-14 20:47:31

标签: c++ stack raii

在C ++中,RAII是否意味着只有当执行超出堆栈对象的范围时才会释放堆栈对象(在堆栈上分配的对象,例如函数中的局部变量)?

如果我想在执行到达堆栈对象范围的末尾之前稍微释放堆栈对象,该怎么办?

感谢。

1 个答案:

答案 0 :(得分:1)

听起来你想要std::optional。它允许自动资源管理,但允许"解除分配"状态。