不変クラスへの参照を作成するにはどうすればよいですか?string
のような参照を並べ替えることはできますか?不変クラスへの再割り当て可能な参照を作成するには?
import std.stdio;
immutable class Test {
string test(){
return "test";
}
}
void main(){
auto test = new Test;
writeln(test.test);
}
作成したインスタンスは不変ではないので、これは、エラーの原因:結果の変数は、その後、新しいものを割り当てることができないので、
test.d(14): Error: immutable method test.Test.test is not callable using a mutable object
new immutable
は、いずれかの動作しません。
immutable(Test)*
しかし、ポインタを避ける方法はありますか?
番号: '魔法のテスト=新しい不変テスト; test.test;テスト=新しい不変テスト; ' – weltensturm
Hm。私はこれが可能だとは思わない。不変の点は、変数が実行時に決して変更されないことを保証することです。 多分あなたの意図を説明すれば、あなたの問題を解決することができます:) あなたは "like string"と言っています:文字列は不変(char)[]のエイリアスです。 chars自体は不変ですが、文字列配列は変わりません。 – Patric