在许多现代语言中const
,应该使用正确性来阐明接口和意图,并为编译器提供一些优化的机会。在 D 中有真正不可变数据的酷特性。应该如何const
使用immutable
?我有点想,更喜欢const
作为函数参数和immutable
局部变量的限定符似乎是编写代码的好方法,但是一旦你想将一个带有引用或指针的结构分配给一个数据成员(私有或非私有)不可变变量你不能这样做。
struct S {
private int[] data;
}
void main() {
immutable s = new S; // won't work, since members aren't immutable
}
因此,struct
如果我使用不可变的,更改 a 的实现可能会破坏我的代码。我是否应该更喜欢const
局部变量并仅在必要时使用不可变?指导方针是什么?