0
在mondern编译器中是否通过const值或const引用传递一个小对象会有影响吗?例如,我有几个方法接受并且不修改boost::units::quantity<boost::units::si::length, float>,它应该被优化以浮动。将参数值作为值与const参考的性能
通常我会将参数的类型声明为一个常量引用,但是如果我这样做,恐怕编译器不能优化模板的方式。
编辑:我没想到却被rahul.deshmukhpatil在评论中提到的,如果我接受const&
编译器在我从一个多线程环境调用的情况下至少发出双码。
_“但我恐怕编译器无法优化模板的方式,如果我这样做”_为什么?这些仅仅是确保类型一致性的语法糖。 –
只是一般情况下,在多线程程序的情况下,如果您传递的对象由多个线程并发共享/执行,那么通过值或引用传递可能会有不同的结果。 –
@πάνταῥεῖ因为我不确定'float const'参数是否与'float const'参数一样优化 – ooxi