更新部分文字和代码

This commit is contained in:
Xwoder
2015-08-20 11:46:54 +08:00
parent cd833dbd5f
commit 0058431009
2 changed files with 3 additions and 3 deletions

View File

@ -20,7 +20,7 @@
与C语言中的算术运算符不同Swift 中的算术运算符默认是不会溢出的。所有溢出行为都会被捕获并报告为错误。如果想让系统允许溢出行为,可以选择使用 Swift 中另一套默认支持溢出的运算符,比如溢出加法运算符(`&+`)。所有的这些溢出运算符都是以 `&` 开头的。
在定义自有的结构体、类和枚举时,最好也同时为它们提供标准swift运算符的实现。Swift简化了运算符的自定义实现也使判断不同类型所对应的行为更为简单。
在定义自有的结构体、类和枚举时,最好也同时为它们提供标准Swift运算符的实现。Swift简化了运算符的自定义实现也使判断不同类型所对应的行为更为简单。
我们不用被预定义的运算符所限制。在 Swift 当中可以自由地定义中缀、前缀、后缀和赋值运算符,以及相应的优先级与结合性。这些运算符在代码中可以像预设的运算符一样使用,我们甚至可以扩展已有的类型以支持自定义的运算符。
@ -434,7 +434,7 @@ if twoThree == anotherTwoThree {
新的运算符要在全局作用域内,使用 `operator` 关键字进行声明,同时还要指定 `prefix``infix` 或者 `postfix` 限定符:
```swift
operator prefix +++ {}
prefix operator +++ {}
```
上面的代码定义了一个新的名为 `+++` 的前缀运算符。对于这个运算符,在 Swift 中并没有意义,因为我们针对 `Vector2D` 的实例来定义它的意义。对这个示例来讲,`+++` 被实现为“前缀双自增”运算符。它使用了前面定义的复合加法操作符来让矩阵对自身进行相加,从而让 `Vector2D` 实例的 `x` 属性和 `y`属性的值翻倍: