首先你举的例子有瑕疵。gamma是标量的话不能直接求和的。如果是矩阵的话有点怪。
其次我觉得你把问题复杂化了。
首先alpha*B这样的运算结果要先放到temp里面,然后再和后面的表达式继续运算。这个时候scalar乘法也应该重载做原地乘法并返回引用才能节省一次搬运的成本。
总的来说编译器可以优化就让编译器做,无法优化的可以自己手动优化。
【 在 dormouseBHU 的大作中提到: 】
: move只能解决一次运算的问题吧。
: 矩阵运算经常是 A = alpha B + beta C + gamma
: 或者 A = B C B.Transpose 类似这样的。
: ...................
--
FROM 85.76.105.*