delphi - 为什么 Delphi 中的类不能使用运算符重载?

标签 delphi class operator-overloading

我一直想知道这个问题,但为什么 Delphi 中的类不能使用运算符重载?

我记得在逃跑时读过一次答案,它说它会与某些东西发生冲突,但我记不太清了。据我所知,只有隐式运算符可能会导致一些问题,因为类存储在堆上,并且分配实际上是堆地址的副本(基本上是复制指针)。

最佳答案

关闭。这是因为对象是引用类型并且内存是手动管理的。所以如果你说myResult := myObject1 + myObject2 + myObject3; ,您必须在其中的某个位置创建一个中间对象,并且没有代码来释放它,因此您会出现内存泄漏。

关于delphi - 为什么 Delphi 中的类不能使用运算符重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2090472/

相关文章:

c++ - 使用常量修改重载成员运算符

php - OO数据库类

delphi - 如何检测服务器是否使用 TIdTCPClient 响应请求?

sql - 在Delphi 7中运行更新/插入查询时,如何解决默认值错误?

德尔福。如何在调用另一个模态表单后立即关闭模态表单

c++ - 调用正确的虚方法

python - 覆盖父类的方法

c++ - 错误 C2678 : binary '!=' : no operator found

c++ - 使用模板输出过载

delphi - 当防火墙拒绝互联网访问时,ShellExecute 会阻止(永不返回)