- 90 名前:デフォルトの名無しさん mailto:sage [2013/07/22(月) NY:AN:NY.AN .net]
- >>89
昔は構造体のフィールドに mut をつけて、そこだけミュータブルにすることはできたね。 今は、データの所有者のミュータビリティが継承されるという仕様だから、 データの一部だけがミュータブルということはなくて、 全部ミュータブルかイミュータブルの2つしかない。 ただし、例外が @ で表されるマネージドボックス。 これは所有者が複数いるので、所有者のミュータビリティを継承するのでは無く、 ボックス自体がミュータブルかイミュータブルかの属性をもっている (@ と @mut)。 なので、@ を使えば C++ でいう例のようなことは一応できる。 Rust では @ の使用をできるだけ避けようという風潮があるから、 C++ と同じ事をやる目的で @ を使うのはあまり推奨されないとは思う。
|

|