我意识到这可能是一个愚蠢的问题,但我无法在任何地方找到答案......'&'的目的是什么? C ++函数中的符号?如
vec2& operator+(vec2& left, const vec2& right)
{
return left.add(right);
}
我正在关注一个有点过头的youtube系列,但我做得很好,因为所有代码都在那里。然而,'和'符号不断涌现,我真的很想知道它是什么......它与课程有关吗?
以下是我正在观看的内容:https://www.youtube.com/watch?v=-peYVLeK0WU 来自名为“TheChernoProject”的频道的家伙制作了一个简单的游戏引擎。此外,这是Visual Studio 2013 C ++,如果它改变任何东西。
答案 0 :(得分:14)
"&安培;"可能意味着几种不同的东西,具体取决于具体情况。
上面给出的示例是C ++"引用运算符":
Need help understanding reference operator(C++) in specific functions
引用运算符特定于C ++。 "&安培;"也可以用作"的地址运算符,用于C和C ++:
What are the differences between a pointer variable and a reference variable in C++?
最后,"&"也可以是按位" AND"操作者:
答案 1 :(得分:4)
在您的问题中提供的代码&
符号用于在operator+
函数中通过引用传递参数。如果你删除它,你的代码仍然可以编译,并将以相同的方式(在你的情况下),但参数将通过值{(1}}函数传递(将被复制)。
答案 2 :(得分:3)
它意味着通过引用传递,传递的对象可以直接操作。例如,当您编写public void TestMethod(obj value)
时,您对值所做的任何更改都不会影响原始值(即复制),但是当您通过引用传递时,您对值所做的任何更改都会更改原始值。