【发布时间】:2020-11-28 20:06:46
【问题描述】:
有没有用 C++ 编写非交换变量乘法的简写?
例如,对于交换变量,我们可以这样做:
a = a * b;
a *= b; // same as the above
但是对于非交换变量,我们不能:
a = a * b; // #1
a = b * a; // #2 different than above
a *= b; // same as #1
// ??? // shorthand to #2?
可以简写#2吗?
【问题讨论】:
-
你为什么需要这个?由于交换律,a *= b 和 a = a * b 的输出是相同的。方法#1 是我想到的最短的方法。
-
@wpichl 和 op 询问
a = b * a;不是累积的。例如矩阵乘法 - 顺序很重要。 -
@wpichl 正如血腥所说。这是我正在处理的一个矩阵乘法的具体案例,以便为任何需要进一步上下文的人澄清它。
-
没有直接的方法可以做到这一点。只需使用文本函数名称,例如
mul_left/mul_right。
标签: c++ operators multiplication