我意识到这可能是一个愚蠢的问题,但我无法在任何地方找到答案...... C++函数中'&'符号的目的是什么?如
vec2& operator+(vec2& left, const vec2& right)
{
return left.add(right);
}
Run Code Online (Sandbox Code Playgroud)
我正在关注一个有点超过我的youtube系列,但我做得很好,因为所有代码都在那里.然而,'和'符号不断涌现,我真的想知道它是什么......它与课程有关吗?
这正是我正在观看的内容:https://www.youtube.com/watch?v = -peYVLeK0WU来自名为"TheChernoProject"的频道制作一个简单的游戏引擎的家伙.此外,这是Visual Studio 2013 C++,如果它改变任何东西.
pau*_*sm4 15
"&"可能意味着几种不同的东西,具体取决于具体情况.
上面给出的示例是C++"引用运算符":
引用运算符特定于C++."&"也可以用作"地址"运算符,用于C和C++:
最后,"&"也可以是按位"AND"运算符:
http://www.cprogramming.com/tutorial/bitwise_operators.html
小智 5
意思是按引用传递,传递的对象可以直接操作。例如,当您写入public void TestMethod(obj value)对值所做的任何更改时,不会影响原始值(即制作副本),但是当您通过引用传递时,对值所做的任何更改都会更改原始值。
在您在问题符号中提供的代码中,&符号用于在operator+函数中通过引用传递参数。如果删除它,您的代码仍然能够编译并以相同的方式运行(在您的情况下),但参数将按operator+值传递到您的函数中(将被复制)。