Swiftのstructはclassとよく似ているところがありますが、どのように使い分けるのでしょうか。
structの性質を使った、実際の実装パターンなどありましたらご教授をお願いできればと思います。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
structは主に
- 単純なデータを意味のあるまとまりにしたい場合
に使います。
classと違うところとしては
- 変数に入れるときに値渡しになる
- 継承ができない
といった点があるので、ここが使い分けのポイントでしょう。
(参照渡ししたい、継承したい場合はclassを使う)
典型的なstructの使い方の例としてはCGRectやCGSizeがあります。
xやy, widthやheightといった単純なCGFloat型の値を、意味あるまとまりとして扱えてわかりやすいのと、それらを扱う共通の処理を定義できて便利です:-)
投稿2015/08/02 15:34
総合スコア1585
0
structは、比較的サイズの小さい構造体を作るのに適しています。
classのインスタンスはヒープ上に実体が作られますが、structのインスタンスはスタック上に実体が作られます。
文法的には、サイズを問わず全ての構造体をstructで定義すべきですが、サイズが大き過ぎると値渡しでコピーが発生して(参照渡しにならないので)、やや効率が悪くなるかもしれません。
投稿2015/08/02 11:04
総合スコア2183
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/10 18:16
退会済みユーザー
2015/08/15 22:38
2015/08/16 07:38
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。