Loading article…
コンピュータサイエンスにおいて、値セマンティクス(値型セマンティクスまたは値によるコピーセマンティクスとも呼ばれる)を持つということは、オブジェクトについてはその値のみが重要であり、そのアイデンティティは重要ではないことを意味します。[1] [2] 不変オブジェクトは当然値セマンティクスを持ちます。 [3]変化がある場合、値セマンティクスを持つオブジェクトはプログラム内のどの時点でも一意に参照できます。
この概念を説明するために使用される概念は、外延性、明確性、同一性の代替性、展開可能性、および参照透明性である。[4]
参考文献
- ^ 「基本的な質問」。velocity reviews。2011-06-17取得。値
のセマンティクスに関する重要な考慮事項は、オブジェクトの値のみが重要であり、その ID は重要ではないということです。したがって、好きなだけコピー (コピー コンストラクターまたは割り当て) でき、コピーは変更なしで元のオブジェクトの代わりに使用できます。
- ^ Daniel Elstner. 「Re: Gdk::Region の拡張」。GTK & GNOME メーリング リスト。2011-06-17取得。
値セマンティクスとは何ですか? [...] これは、「値型セマンティクス」または「値によるコピー セマンティクス」のアドホックな省略形です。
- ^ 「基本的な質問」。velocity reviews。2011-06-17取得。オブジェクト
は不変の値を表します (オブジェクトは可変状態を持つシステムを表します)。[...] 必ずしもそうとは限りません。少なくとも C++ ではそうではありません。値セマンティクスを持つオブジェクトは代入演算子によってのみ変更できるという考え方は気に入っていますが、これは一般的なケースからは程遠いものです。たとえば、std::string は、多数のミューテーター関数があるにもかかわらず、明らかに値セマンティクスを持っています。(これは設計上のエラーだと主張する人もいるかもしれませんが、そうだとしても、それは受け入れなければなりません。)
- ^ 「基本的な質問」。Velocity Reviews。
値セマンティクスの重要な考慮事項は、オブジェクトの値のみが重要であり、そのアイデンティティは重要ではないということです。したがって、好きなだけコピーできます (コピー コンストラクターまたは割り当て)。[...] 最終的には、この概念をより正確に説明するために使用できる 5 つの異なる概念を特定できます。これらは、拡張性、明確性、アイデンティティの代替性、展開可能性、および参照透過性です。
