C++:通过引用或值传递 Vector 结构?

标签 c++ calling-convention

这是我的 Vector 结构:struct Vector{ float x, y; };

  • 我应该按值还是将其作为 const Vector& 传递给函数?

最佳答案

如果您按值传递,该函数将获得一个拷贝,它可以在不影响调用者的情况下在本地修改它。

如果你通过 const-reference 传递,该函数将只获得一个只读引用。不涉及复制,但被调用的函数不能在本地修改它。

鉴于结构的大小,复制开销将非常小。因此,选择最适合/最容易调用的函数。

关于C++:通过引用或值传递 Vector 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283987/

相关文章:

c++ - 线程是否需要获得互斥量的所有权才能关闭互斥量的句柄

c++ - 页面文件支持的内存映射文件与堆——有什么区别?

c++ - C/C++中的位操作

c中的调用约定

cpu-registers - 如何理解 volatile 和非 volatile 寄存器?

c++ - 被调用者如何知道参数是通过寄存器而不是堆栈传递的

c++ - 为什么我的 Windows 控制台关闭事件处理程序超时?

c++ - 在类中分配函数指针会在 C++ 中给出值类型错误

c++ - 检查函数指针类型的调用约定

assembly - 如何在汇编器 x86 函数调用中传递参数?