C++ C+中的运算符重载+;和符号

C++ C+中的运算符重载+;和符号,c++,class,operator-overloading,C++,Class,Operator Overloading,可能重复: 当在类名称(如ostream&operator)后面使用“与”时,符号的作用是什么?第一个符号通过引用获取一个Vector3f,并通过引用返回一个Vec3torf。第二个按值获取并返回(即,在语义上它复制了参数以及*this)。这是C++的语法,用于按引用传递和按引用返回。这仅仅意味着参数是调用上下文中对象的别名,而不是副本,同样,返回的对象实际上是*这,而不是副本。那么这就像传递指向对象的指针一样吗?那么为什么他们不传递指针而不是引用?@马丁马里诺夫,因为它是C++而不是C。引用提

可能重复:

当在类名称(如ostream&operator)后面使用“与”时,符号的作用是什么?第一个符号通过引用获取一个
Vector3f
,并通过引用返回一个
Vec3torf
。第二个按值获取并返回(即,在语义上它复制了参数以及
*this
)。

这是C++的语法,用于按引用传递和按引用返回。这仅仅意味着参数是调用上下文中对象的别名,而不是副本,同样,返回的对象实际上是
*这
,而不是副本。

那么这就像传递指向对象的指针一样吗?那么为什么他们不传递指针而不是引用?@马丁马里诺夫,因为它是C++而不是C。引用提供不同的语法和语义。如果你不知道它们是什么,我建议你读一本好的入门级C++书。
Vector3f & operator = (Vector3f & obj)
{
    _item[0] = obj[0];
    _item[1] = obj[1];
    _item[2] = obj[2];

    return *this;
}
Vector3f operator = (Vector3f obj)
{
    _item[0] = obj[0];
    _item[1] = obj[1];
    _item[2] = obj[2];

    return *this;
}