Swift の値セマンティクスは好きですが、ミューティング関数のパフォーマンスが心配です。以下があるとします。struct
struct Point {
var x = 0.0
mutating func add(_ t:Double){
x += t
}
}
を作成し、次のように変更するとしますPoint
。
var p = Point()
p.add(1)
struct
メモリ内の既存のものは変更されますか、または次self
のように新しいインスタンスに置き換えられますか
self = Point(x:self.x+1)