我最近偶然发现了一 block ,我无法说出它有什么特别的意义;考虑一下:
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 引用中有什么意义,我错过了什么?
最佳答案
您确实没有遗漏任何东西。
在这种情况下,C++ 所做的是用结果创建一个临时对象,然后创建一个绑定(bind)到该对象的引用。
这将是自杀式的(绑定(bind)到临时对象的引用!)除了 C++ 中有一条特殊规则规定在这种情况下,只要引用存在,临时对象就会一直保持事件状态,因此不会发生任何不良情况。
不过也没什么特别好的。
关于c++ - 将计算结果保存到常量引用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47034250/