1

我试图了解以下代码有什么问题,其中Result一个类是move constructor

Result&& GetResult(unsigned char* ptr)
{
    Result res = Result(ptr);
    return std::move(res);
}

Result ret = GetResult(ptr);

我知道推荐的方法是有返回类型Resultreturn res;让编译器自己调用移动构造函数。但是我想通过局部变量的生命周期来了解上述案例中发生了什么,因为它在传递给inres时似乎已经“死”了。另一方面让它保持活力。move constructorResult ret = GetResult(ptr);Result&& res = GetResult(ptr);

4

0 回答 0