Gar*_*ryF 11
它们不经常使用,因为通常在大多数对象类上进行数学运算(大多数运算符都是没有意义的).您想要的操作的语义通常在某种程度上是不同的.您不会对一堆OrderLine对象使用添加,例如,当您真正想要聚合或分组时.
要使用您在问题的注释中提供的示例,"+"似乎是将子元素放入父元素的一种不错的方式,但操作具有完全不同的语义."+"表示你会在数学上将它们加在一起,而实际上你的目标是在两者之间建立层次关系.它可能对你有意义,但我想在第一次阅读时,很多程序员可能并不明白.
它们很少使用,因为它们很少适合.
小智 6
它们稀有的另一个原因是,虽然函数重载可以通过函数的名称进行自我记录,并且通常通过上下文,操作符通常只有一个或两个字符长.
因此,不能明确地明确过载的精确目的.例如,字符串!=比较运算符重载在其中没有空间来表示它是比较长度,执行逐字符不区分大小写的比较,还是查找静态索引数组中的值,并比较它们(尽管这是一个荒谬的例子).
| 归档时间: |
|
| 查看次数: |
409 次 |
| 最近记录: |