返回右值的shared_ptr成员

时间:2018-03-30 19:52:38

标签: c++ c++11 shared-ptr rvalue

在C ++ Concurrency In Action - Practical MultiThreading第167页中,代码snipet

 std::shared_ptr<T> wait_and_pop()
 {
     std::unique_ptr<node> const old_head=wait_pop_head();
     return old_head->data;
 }

为什么我们必须首先将rvalue wait_pop_head()赋值给const变量?我们有什么理由不能将代码缩写为跟随?

std::shared_ptr<T> wait_and_pop()
{
    return wait_pop_head()->data;
}

1 个答案:

答案 0 :(得分:1)

事实上,没有理由不能使用您的替代品。

临时居住的时间足够长。

但是有些人更喜欢写出来。