在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;
}
答案 0 :(得分:1)
事实上,没有理由不能使用您的替代品。
临时居住的时间足够长。
但是有些人更喜欢写出来。