在 C 中使用“&”符号

新手上路,请多包涵

我意识到这可能是一个愚蠢的问题,但我无法在任何地方找到答案…… 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++,如果有什么改变的话。

原文由 Gector 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 373
2 个回答

“&”可以表示几种不同的东西,具体取决于上下文。

您在上面给出的示例是 C++“引用运算符”:

需要帮助理解特定函数中的引用运算符(C++)

引用运算符特定于 C++。 “&”也可以用作“地址”运算符,用于 C 和 C++:

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

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

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

原文由 paulsm4 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 fnc12 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题