我最近偶然发现了一块我不知道它有什么特别的意义;考虑一下:
const FVector2D L0 = (Start.LeftPos * ScaleFactor - Offset) / Size * TargetSize;
const FVector2D R0 = (Start.RightPos * ScaleFactor - Offset) / Size * TargetSize;
和
const FVector2D& C0 = (L0 + R0) * 0.5f;
在将计算结果存储到const引用中时,我没有任何意义,我缺少什么?
答案 0 :(得分:6)
你确实没有遗漏任何东西。
在这种情况下,C ++做的是创建一个带有结果的临时对象,然后创建一个绑定到该对象的引用。
这将是自杀(一个临时绑定的引用!),除了在C ++中有一个特殊的规则,声明在这种情况下临时对象将保持活动,只要引用没有坏事发生。 / p>
然而,没有什么特别好的。