C - 将枚举类作为值还是常量引用传递更好?

新手上路,请多包涵

由于它被称为“类”,我通常会将它作为 const 引用传递,但如果我使用普通枚举,它没有区别吗?那么,如果我将枚举类作为 value/const ref 传递,会有什么不同吗?另外,类型重要吗?例如一个枚举类:int

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

阅读 1.2k
2 个回答

enum class 保存一个整数值,就像一个常规的 enum 所以你可以安全地按值传递它而没有任何开销。请注意,编译器有时也可以通过将其替换为按值传递来优化按引用传递。但是当不应用这种优化时,通过引用传递可能会导致一些开销。

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

通常,按值传递会导致复制对象,而按引用传递会避免这种情况。当然,移动语义可以提供帮助。

所以是的,有区别。

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

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