Clo*_*737 12 delphi class operator-overloading
我总是想知道这一点,但为什么运算符重载不适用于Delphi中的类?
我记得在跑步时读了一次答案,它说它会与某些东西发生冲突,但我记不起来了.据我所知,只有隐式运算符可能会导致一些问题,因为类存储在堆上并且赋值实际上是堆地址的副本(基本上是复制指针).
Mas*_*ler 12
关.这是因为对象是引用类型,并且手动管理内存.所以,如果你说myResult := myObject1 + myObject2 + myObject3;,你必须在那里的某个地方创建一个中间对象,并且没有代码可以释放它,所以你会得到内存泄漏.