0
在C++ mutable
关键字中是否存在等价的swift?我有一个实现协议的结构,包括一个非变异函数,但是实现在内部会改变内部状态。有没有什么办法可以让这个类的成员var变为可变的,而不需要改变协议定义,使得函数mutating
?相当于C++ mutable关键字的Swift结构?
例如
public protocol P {
// f is semantically unmutating
func f
}
public struct S : P {
// f is semantically unmutating, but does change some internal state
public func f {
v += 1
}
private var v: Int // How to mark this as mutable for internal purposes?
...
}