2014-09-01 80 views
0

如果要传递的对象没有复杂数据,使用右值引用是否有优势?例如,以下几点比使用引用有什么优点?C++简单类型的右值引用构造函数的好处(Vector3,Matrix等)

class Vector3 
{ 
public: 
    float X, Y, Z; 

    Vector3(const Vector2& vector2, float z) 
     : X(vector2.X), Y(vector2.Y), Z(z) 
    { 

    } 

    // Is this any better than the above? 
    Vector3(Vector2&& vector2, float z) 
     : X(std::move(vector2.X), Y(std::move(vector2.Y), Z(z) 
    { 

    } 
}; 

回答

5

我相信你给的例子不会有任何好处。对于基本的数字类型,如float移动和复制实际上是相同的操作。