在64位系统上,const&是8个字节.对于小于8字节的值和对象,传递值而不是引用是有意义的.即使是8字节的对象复制也比传递引用便宜,然后访问对象.
您应该在什么阈值上更喜欢const值而不是const值?
解决方法
For values and objects smaller than 8 bytes,it makes sense to pass by value rather than reference. Even an 8 byte object is cheaper to copy than to pass the reference,then access the object.
不保证引用可以作为指针实现.实际上按照§8.3.2/ 4:
It is unspecified whether or not a reference requires storage
At what threshold should you prefer a const reference over a const value?
情况很简单:
>当您只想读取值时使用const引用>当你总是在函数内部制作一个对象的副本时,使用值>如果要修改函数内的对象,请使用引用