意外更改结构的副本而不是结构本身
作者:pseudosudo 提问时间:12/2/2018
多年来,我使用标识类型进行编程,我发现使用变异值类型非常有压力,因为经常存在意外分配(从而复制)新变量,然后改变该副本并期望看到这些更改反映在原始结构中的风险(最后给出的示例)。 我的实际问题是:有...
不变性 问答列表
作者:pseudosudo 提问时间:12/2/2018
多年来,我使用标识类型进行编程,我发现使用变异值类型非常有压力,因为经常存在意外分配(从而复制)新变量,然后改变该副本并期望看到这些更改反映在原始结构中的风险(最后给出的示例)。 我的实际问题是:有...
作者:user1027217 提问时间:11/9/2011
我对什么是不可变类型感到困惑。我知道这个对象被认为是不可变的,我书中的这种例子:float class RoundFloat(float): def __new__(cls, val): ret...
作者:Abir Sheikh 提问时间:9/19/2023
这个问题在这里已经有答案了: 将“mut”放在变量名称之前和放在“:”之后有什么区别? (4 个答案) 为什么 Rust 允许使用不可变绑定通过引用字段进行突变? (1 个答案) 2个月前关闭。 在...
作者:RNdev 提问时间:12/4/2022
这个问题在这里已经有答案了: 为什么相等性检查不适用于数组 [duplicate] (6 个答案) 为什么两个相同的对象彼此不相等? (9 个答案) 12个月前关闭。 let a = "hello" ...
作者:Alex Angas 提问时间:10/18/2008
我试图弄清楚可变对象与不可变对象。使用可变对象会得到很多不好的报道(例如,从方法返回字符串数组),但我很难理解这样做的负面影响是什么。使用可变对象的最佳做法是什么?你应该尽可能避免它们吗?...
作者:wim 提问时间:2/7/2012
我对修改元组成员有点困惑。以下方法不起作用: >>> thing = (['a'],) >>> thing[0] = ['b'] TypeError: 'tuple' object does not...
作者:sid 提问时间:3/21/2016
我不明白在 Java 中使类不可变的要求。以下是我无法理解的要求: 1) 如果实例字段包含对可变对象的引用,则不允许更改这些对象: a) 不要提供修改可变对象的方法。 b) 不要共享对可变对象的...
作者:Pranav Jaiswal 提问时间:6/7/2014
我指的是 Apple 的 Swift 编程指南,用于理解用 Swift 语言创建可变/不可变对象(数组、字典、集合、数据)。但是我无法理解如何在 Swift 中创建不可变的集合。 我希望在 Swif...
作者:Vrt 提问时间:3/26/2021
对于我的网格系统(2D数组),我正在创建一个-struct。这与 .Index2Vector2 遇到一些问题,我阅读了结构。遇到可变和不可变的主题。 长话短说,可变结构很糟糕。所以后来我想知道,我...
作者:kingkong 提问时间:5/14/2020
假设我有一个不可变的类,比如 Employee,其可变成员地址字段类型为 Address 类,如下所示: public final class Employee{ private final In...