In vielen modernen Sprachen const
Korrektheit sollte verwendet werden, um Schnittstellen und Absicht zu klären sowie einige Möglichkeiten für den Compiler zu optimieren. In D gibt es die coole Eigenschaft von wirklich unveränderlichen Daten. Wie sollte const
und immutable
verwendet werden? Ich dachte, dass das const
als Qualifikationsmerkmal für Funktionsargumente und immutable
für lokale Variablen vorzuziehen scheint eine gute Möglichkeit, Code zu schreiben, aber sobald Sie eine Struktur mit einem Verweis oder Zeiger wie Datenelement (privat oder nicht) zuweisen möchten zu einer unveränderlichen Variable können Sie das nicht tun.Wann und wie soll ich `const` und` unveränderlich` in D verwenden?
struct S {
private int[] data;
}
void main() {
immutable s = new S; // won't work, since members aren't immutable
}
Daher kann die Implementierung eines struct
Änderung meiner Code brechen, wenn ich unveränderlich verwenden. Soll ich für lokale Variablen const
bevorzugen und nur bei Bedarf unveränderlich verwenden? Was sind die Richtlinien?