何时在函数中使用const引用而不是const值?

时间:2014-03-17 15:58:10

标签: c++ performance reference const

在64位系统上,const&为8个字节。对于小于8字节的值和对象,传递值而不是引用是有意义的。即使是8字节的对象复制也比传递引用要便宜,然后访问对象。

在什么阈值上你应该更喜欢const值而不是const值?

1 个答案:

答案 0 :(得分:10)

  

对于小于8字节的值和对象,传递值而不是引用是有意义的。即使是8字节的对象复制也比传递引用要便宜,然后访问对象。

不保证引用可以作为指针实现。事实上,根据§8.3.2/ 4:

  

未指明引用是否需要存储


  

在什么阈值上你应该更喜欢const值而不是const值?

情况非常简单:

  • 当您只想阅读值
  • 时,使用 const references
  • 使用,当你总是最终在函数内复制对象时
  • 如果要修改函数中的对象,请
  • 使用引用