Delphi支持哪些类型的运算符重载?

Delphi支持哪些类型的运算符重载?,delphi,operator-overloading,Delphi,Operator Overloading,我想知道什么类型的操作符重载是可能的(以及使用什么版本的Delphi)? 感谢,我知道: Add(Left,Right:Type):Type(用于“+”运算符) 减法(左、右:类型):类型(用于“-”运算符) 乘法(左、右:类型):类型(用于“*”运算符) Divide(左、右:类型):类型(用于“/”运算符) 隐式(aValue:Type):另一个类型和 隐式(aValue:AnotherType):类型(对于隐式赋值:a:=b) 显式(aValue:Type):另一个类型和 显式(aVal

我想知道什么类型的操作符重载是可能的(以及使用什么版本的Delphi)? 感谢,我知道:

  • Add(Left,Right:Type):Type(用于“+”运算符)
  • 减法(左、右:类型):类型(用于“-”运算符)
  • 乘法(左、右:类型):类型(用于“*”运算符)
  • Divide(左、右:类型):类型(用于“/”运算符)
  • 隐式(aValue:Type):另一个类型和
  • 隐式(aValue:AnotherType):类型(对于隐式赋值:a:=b)
  • 显式(aValue:Type):另一个类型和
  • 显式(aValue:AnotherType):类型(用于“强制转换”的显式赋值):a:=类型(b)
但是,我不知道的是“=”、“=”运算符的名称。这些运算符存在吗?我可以从哪个Delphi版本使用它们


PS:目前我仍然使用Delphi 2009,因此如果2010提供这些,我会有另一个强有力的升级理由;-)

事实上,我自己找到了答案,但保留了这个问题,因为我可以想象人们会定期在stackoverflow上搜索这些信息

有关运算符重载的官方说明可在此处找到:

我要找的主要是:

  • 相等,用于“=”比较:相等(a:类型;b:类型):布尔值
  • NotEqual,对于“”比较:NotEqual(a:type;b:type):布尔值
  • GreaterThan,用于“>”比较:GreaterThan(a:type;b:type)Boolean
  • GreaterThanOrEqual,对于'>='比较:GreaterThanOrEqual(a:type;b:type):结果类型
  • LessThan,对于“,我只是将会话的类型放在了可空类型上,并在几次会议上给出了运算符重载

    它现在包含了一个操作符、名称和哪些有效/哪些无效的表。 WordPress最初使该表的格式不正确,但我设法恢复了它

    您也可以下载

    简言之:

    • 文档(即使是DocWiki)也不完整,值得注意
    • 不能重载按位not运算符,因为编译器不支持按位not。您必须重载逻辑not运算符
    • 过载运算符成对(如适用)
    • 了解现有运营商
    • 在实现隐式运算符时要非常小心
    希望这对你有帮助。如果你需要更多的信息,请告诉我:我已经做了相当多的生产工作,操作员超载


    --杰罗恩

    谢谢-既然你提到了,我以前看过你的幻灯片。总而言之,这是一个很好的概述。很遗憾,德尔福社区不得不记录这一点;我本来希望CodeGear/Embarcadero能提供一份更全面的文档。我需要先找时间在线下载我的资料,然后更新正确的维基。按位的not是
    一个整数XOR-1
    页面已经移动