相关疑难解决方法(0)

swift中的变异结构函数是否会创建一个新的self副本?

我喜欢swift中的值语义,但我担心变异函数的性能.假设我们有以下内容struct

struct Point {
   var x = 0.0
   mutating func add(_ t:Double){
      x += t
   }
}
Run Code Online (Sandbox Code Playgroud)

现在假设我们创建一个Point并将其变异为:

var p = Point()
p.add(1)
Run Code Online (Sandbox Code Playgroud)

现在内存中的现有结构变异,或者被struct替换为新的实例

self = Point(x:self.x+1)
Run Code Online (Sandbox Code Playgroud)

performance struct swift swift-structs

5
推荐指数
2
解决办法
1098
查看次数

标签 统计

performance ×1

struct ×1

swift ×1

swift-structs ×1