如何在Julia中重载+ =?

And*_*dyF 3 overloading julia

我试图理解运算符重载在Julia中是如何工作的.手册非常简短,并给出+()了一个示例函数,然后说明所有运算符都可以用它们明显的名称重载(还提供了一个非显而易见的名称列表).

但是+=?该函数+=()甚至似乎不存在,也不存在+=!()(因为它是一个修改函数).我经常通过+=首先定义C++中的运算符,然后使用+基于副本的简单运算符+=.

在我的情况下,我甚至不认为我需要+,只是...的行为+=我意识到我可以编写自己的修改函数但操作符语法会很好.(出于好奇,怎么办*=,/=,$=,等工作?)

Mr *_*pha 7

没有+=功能.它只是语法糖a = a + b.

它也没有变异.因此a += b计算a + b然后更改a以参考结果.这意味着有结果的内存分配a + b.