変数の immutability に関する議論、今に始まった話でもないんでしょっちゅう見かけるには見かけるんですけど、まとめ的な話はあんまりきれいにまとまってるところ見かけないなぁとか思ったり。 というので、まだそんなにきれいに整理できてるわけでもないけど、ちょっと書いてみる。 値の不変性 値の不変性にもいくつか種類があって、 constant: コンパイル時定数に名前を付けておきたい 扱いが完全にリテラルと一緒になるやつ C# の const C++ の場合、#define の代替としての const ようは、パフォーマンス的な話で、コンパイル時に解決できる値は全部コンパイル時にやっちゃいたいって話 ぶっちゃけ、リテラルが定義できるようなものだけ const 付けれればいいのかなぁと C# の場合、整数型と string と enum だけが const になれる C++ は逆に、con