gpt4 book ai didi

ios - 了解具有 self 属性的变异函数

转载 作者:行者123 更新时间:2023-11-28 07:16:29 24 4
gpt4 key购买 nike

我正在阅读 Apple 的 Swift Programming Language 一书,并遇到了以下示例。在继续之前,我想确保我的概念是正确的。

struct Point {
var x = 0.0, y = 0.0
mutating func moveByX(deltaX: Double, deltaY: Double) {
self = Point(x: x + deltaX, y: y + deltaY)
}
}

书上说“moveByX 函数创建了一个全新的结构,其 x 和 y 值指向目标位置。”

所以,如果我这样做;

var myPoint = Point(x: 1, y: 1)
myPoint.moveByX(2, deltaY: 2)

我的理解是 Swift 从内存中释放了值为 1, 1 的 myPoint 结构,并且它不再可用。取而代之的是用值 3、3 创建了一个新的。我说得对吗?

最佳答案

准确地说,值 1 和 1 被 3、3 替换。在这两种情况下,内存中的位置是相同的,并且在分配特定实例时分配。

关于ios - 了解具有 self 属性的变异函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25746703/

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