gpt4 book ai didi

d - 是否可以防止在 D2 中非传递地重新分配变量?

转载 作者:行者123 更新时间:2023-12-04 18:48:54 26 4
gpt4 key购买 nike

是否可以防止在 D2 中非传递地重新分配变量?

例如:

final int[] a = [0];
a[0] = 1; // OK.
a = []; // ERROR.

我只看到 constimmutable这里:
http://www.dlang.org/const3.html

最佳答案

不。您拥有的是 constimmutable ,并且它们是可传递的(如果不是,它们真的不会工作)。你可以做

const(int)[] a = [0];
a[0] = 1; // ERROR.
a = []; // OK;

但不是你要找的。

编译器可以在 const 时提供更好的保证和 immutable是可传递的。另外, immutable除非它是可传递的,否则对于线程来说真的没有任何用处(存在的主要原因之一),并且因为任何东西 immutable必须可以 const , const也必须是可传递的。因此,当然,它们不能用于简单地防止变量重新分配。并且语言中没有其他结构可以这样做。

关于d - 是否可以防止在 D2 中非传递地重新分配变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9316444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com