在C++中使用'&'符号

Gec*_*tor 9 c++

我意识到这可能是一个愚蠢的问题,但我无法在任何地方找到答案...... 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和C++:

C++中指针变量和引用变量之间有什么区别?

最后,"&"也可以是按位"AND"运算符:

http://www.cprogramming.com/tutorial/bitwise_operators.html

  • 在这种情况下,`&`不是运算符. (4认同)

小智 5

意思是按引用传递,传递的对象可以直接操作。例如,当您写入public void TestMethod(obj value)对值所做的任何更改时,不会影响原始值(即制作副本),但是当您通过引用传递时,对值所做的任何更改都会更改原始值。


fnc*_*c12 5

在您在问题符号中提供的代码中,&符号用于在operator+函数中通过引用传递参数。如果删除它,您的代码仍然能够编译并以相同的方式运行(在您的情况下),但参数将按operator+值传递到您的函数中(将被复制)。