クラス2017.03.28みなさん今日は。プログラマの安藤です。今回は不変という概念のお話です。immutable(不変)なクラスといいます。とるに足らない例これはどういうことかと言うと、文字列中の文字を置換するだけでも、新たな文字列バッファをアロケートするという比較的重い処理が走るわけです。ゲーム開発する場合、結構な頻度で文字列を更新することがあるのですが、これがパフォーマンスのボトルネックになったりする。クラスとして設計する利点もある。「何らかの演算を施した結果を代入する」というパターンに従うことになります。メソッドは2項演算子と同様となります。数値型の変数を扱うのと同様に処理することが可能なわけです。mutable(変更可能)なオブジェクトとして設計されているとかえって面倒臭い。キーとして使用できないしね。クラスですが、うまく使うとバグの可能性を減らしたり、パフォーマンスを改善したりできます。らしい例さて、このようなクラスを定義した場合、このクラスの利用者は次のように考えるかもしれません。複数のオブジェクトで共有されてしまうケースがあり得る。内部実装が変更されるようなことが避けられるのですが、このような設定オブジェクトは往々にして内部的に使用するメモリが大きくなる。なると今度は値のコピーのオーバーヘッドが馬鹿にならない。クラスを定義した場合は、参照を共有するだけなので遥かにパフォーマンスが良い。コピーと変更のオーバーヘッドを交換するものと考えることもできるわけです。クラスを適切に使い分けることが望ましいといえます。採用情報クラウドクリエイティブスタジオではエンジニアの方を募集中です。