クラスと構造体
大きな違いは代入時に値が渡される(コピーされる)か、参照が渡されるかという点だと感じます。クラスと同じように使えるので、ついつい忘れてしまいますが、以下のような挙動の違いは常に意識しておく必要があります。
struct S {
var v = 0
init(v: (Int)){
self.v = v
}
}
class C {
var v = 0
init(v: (Int)){
self.v = v
}
}
var s = S(v: 1)
var c = C(v: 1)
s.v // 1
c.v // 1
// 別の変数に代入
var s1 = s
var c1 = c
s1.v = 100
c1.v = 100
s.v // 1
c.v // 100
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について