我对r值引用和移动语义非常陌生,但是我阅读的教程的态度是:“由于临时结构是一个构造良好的对象,通常会被复制和销毁,所以为什么不延长其寿命并移动它呢? ?“
所以我正在想象这样的情况:
class Foo
{
Foo m_foo; // Could also be a reference or a unique_ptr of any sort
public:
Foo() {}
Foo(Foo &&v_foo) { /*initialize m_foo using v_foo.*/ }
};
int main()
{
auto foo = std::make_unique<Foo>( Foo() );
return 1;
}
像这样可能吗?