可能重複:
What's the ampersand for when used after class name like ostream& operator <<(…)?C++操作符重載和符號
我新的C++,我有可能是一個非常noobish問題。我已經看到了這樣的事:
Vector3f & operator = (Vector3f & obj)
{
_item[0] = obj[0];
_item[1] = obj[1];
_item[2] = obj[2];
return *this;
}
,我想知道爲什麼會出現Vector3f後的符號(&)。它在做什麼樣的魔術?我無法在任何地方找到任何解釋。最重要的是什麼東西上面之間和
Vector3f operator = (Vector3f obj)
{
_item[0] = obj[0];
_item[1] = obj[1];
_item[2] = obj[2];
return *this;
}
那麼它就像傳遞一個指向對象的指針?那麼爲什麼他們不通過指針而不是參考? –
@MartinMarinov,因爲它是C++而不是C.引用提供了不同的語法和語義。如果你不知道它們是什麼,我建議你閱讀一本好的入門C++書。 –
非常感謝! –