作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图了解运算符重载在 Julia 中是如何工作的。该手册非常简短,并给出了 +()
作为示例函数,然后声明所有运算符都可以使用其明显的名称重载(还提供了非明显名称的列表)。
但是+=?
呢?函数+=()
甚至似乎不存在,也不存在 +=!()
(因为它是一个修改功能)。我经常通过定义 +=
来重载 C++ 中的运算符先用一个简单的+
基于副本和+=
.
就我而言,我什至认为我不需要 +
, 只是 +=
的行为...我意识到我可以编写自己的修改函数,但运算符语法会很好。 (出于好奇, *=
、 /=
、 $=
等如何工作?)
最佳答案
没有+=
功能。它只是 a = a + b
的语法糖.
它也不会变异。所以a += b
计算 a + b
然后更改 a
引用结果。这意味着 a + b
的结果有内存分配.
关于overloading - 如何在 Julia 中重载 +=?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27901832/
我是一名优秀的程序员,十分优秀!