gpt4 book ai didi

swift - 为什么 Swift 中的运算符重载没有在它所属的类型内部声明?

转载 作者:可可西里 更新时间:2023-11-01 00:53:46 25 4
gpt4 key购买 nike

为什么 Swift 中的运算符重载不是在它所属的类型内声明(就像在 C++ 中一样)而是在全局范围内声明?

最佳答案

旁注:这真的重要吗?就是这样。

运算符未在类型内部声明,因为它们更类似于或内联于全局函数。类方法和结构函数通常修改查询被调用的实体。

从这个意义上说,let x = a + blet x = a 更类似于编写 let x = add(a, b) .add(b) 因为后者会让您相信您正在修改接收器(这不是真的)。​​

有人可能会争辩说你在查询它,实际上是在问:“A,如果你被添加到 B,结果会是什么”但这不是一种自然的思考方式对象/类型交互。

归根结底,这是一个设计决定。

关于swift - 为什么 Swift 中的运算符重载没有在它所属的类型内部声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com