mutable相关内容

SWIFT可变集:找到重复元素

我的应用程序使用可变的自定义元素集。有一次我崩溃了,错误是“在集合中找到重复的元素。元素可能在插入后发生了变化。“ 寻找解释,发现this post,我不完全理解。 我的印象是,不应该修改集合的元素,因为这也会修改集合的哈希值,因此进一步的访问可能会失败。 我的问题: 是否允许修改可变集的元素,或者允许哪些修改(如果有)? 如果没有,我是否必须首先从集合中删除元素,然后对其进 ..
发布时间:2022-06-25 14:04:09 移动开发

列表更改意外地反映在子列表中

我需要在 Python 中创建一个列表列表,所以我输入了以下内容: my_list = [[1] * 4] * 3 列表如下所示: [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] 然后我更改了最里面的值之一: my_list[0][0] = 5 现在我的列表如下所示: [[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, ..
发布时间:2022-01-29 23:28:58 Python

不使用 const_cast 修改 *this 的 const 方法

我正在编写的程序中出现了以下模式.我希望它不是太做作,但它设法在 const 方法 Foo::Questionable() const 中改变一个 Foo 对象,而不使用任何 const_cast 或类似的东西.基本上,Foo 存储对 FooOwner 的引用,反之亦然,在 Questionable() 中,Foo 设法修改通过在其所有者上调用 mutate_foo() 将其自身置于 const ..
发布时间:2022-01-23 23:31:03 C/C++开发

Push 不会将列表修改为函数参数

我是 common lisp 的新手,所以希望有人能向我澄清这一点: 假设我们有一个列表,想用 push 添加一个项目来修改它: CL-USER>(defparameter xx '(1 2 3))XXCL-用户>xx(1 2 3)CL-用户>(按 100 xx)(100 1 2 3)CL-用户>xx(100 1 2 3) 正如预期的那样.但是当我尝试对函数执行相同操作时,它不会修改列表 ..
发布时间:2022-01-21 22:35:53 其他开发

可变函数参数默认值的好用途?

将可变对象设置为函数中参数的默认值是 Python 中的常见错误.下面是一个示例,取自 David Goodger 的这篇出色的文章: >>>def bad_append(new_item, a_list=[]):a_list.append(new_item)返回一个列表>>>打印 bad_append('one')['一']>>>打印 bad_append('two')['一二'] 发生这种 ..
发布时间:2022-01-21 21:45:11 Python

Python copy.deepcopy() 函数无法正常工作

我一直在使用 deepcopy 函数和 copy 函数,但我遇到了同样的问题.就像副本是引用(或指针)而不是正确的副本.我正在使用 Python 处理数据记录(类),也许是这样.我给你看一个例子: >>>导入副本>>>班级球员1:... 年龄 = 23... 分数 = 1>>>班级球员2:... 年龄 = 14... 分数 = 2>>>player3 = copy.deepcopy(player ..
发布时间:2022-01-20 18:28:28 Python

Swift - 迭代结构对象时如何对其进行变异

我仍然不确定结构复制或引用的规则. 我想在从数组迭代结构对象时对其进行变异:例如在这种情况下,我想更改背景颜色但是编译器对我大喊大叫 结构选项 {var backgroundColor = UIColor.blackColor()}var arrayOfMyStruct = [MyStruct]...对于 arrayOfMyStruct 中的 obj {obj.backgroundColo ..
发布时间:2022-01-20 17:52:40 移动开发

如何改进这种强制我声明成员函数 const 并声明变量可变的设计?

由于某种原因,我正在迭代 std::set 中的类元素,并且想稍微修改键,因为我知道顺序将保持不变. std::set 上的迭代器是 const_iterators,因为如果修改了键,可能会导致顺序错误,从而导致集合损坏.但是我确信我的操作不会改变集合中元素的顺序. 目前,这是我的解决方案: 类 Foo{上市:Foo(int a, int b): a_(a),b_(b) {}~Foo ..
发布时间:2022-01-17 18:34:07 C/C++开发

Java 是否具有 Integer、Float、Double、Long 的可变类型?

我想使用 Integer 之类的可变版本.我必须使用这些类(如下)还是 Java 有内置的东西? http://www.java2s.com/Code/Java/数据类型/Amutableintwrapper.htm 解决方案 不,Java 没有这些内置功能.这是有原因的.使用可变类型是危险的,因为它们很容易被滥用.此外,它很容易实现.例如,commons-lang 有一个 Muta ..
发布时间:2022-01-14 14:37:46 Java开发

从您自己的迭代器返回可变引用的尽可能简单的示例

这个问题是相关的,但它也涵盖了原因为什么编译器在从 Iterator::next 返回可变引用时无法推断出安全生命周期,我想我明白了. 我的问题是: 在设计您的自己的迭代器时可以采取哪些具体步骤,以便它可以产生可变引用?最终,我希望我(和任何人)有一个尽可能简洁、逐步、注释的 Iterator 及其 next 实现示例当他们遇到这种情况时,可以去作为一个明确的参考.unsafe 例子很 ..
发布时间:2022-01-10 15:01:30 其他开发

可变哈希图键是一种危险的做法吗?

使用可变对象作为 Hashmap 键是不好的做法吗?当您尝试使用已修改到足以更改其哈希码的键从 Hashmap 中检索值时会发生什么? 例如,给定 类键{诠释一个;//可变字段国际b;//可变字段公共整数哈希码()返回 foo(a, b);//为简洁起见省略了 setA 和 setB} 有代码 HashMapmap = new HashMap();Key key1 = new Key( ..
发布时间:2022-01-08 13:37:22 其他开发

如何使任何视图绘制到画布上?

我有一个简短的问题: 假设我有一个(可变的)位图需要修改(添加图像、文本等...). 我没有使用许多特殊的类来绘制画布(油漆、画布、矩阵等),而是在想为什么不使用 Android 的内置类来完成这项任务,而且只有在我需要真正定制的操作时我还能用画布吗? 因此,例如,为了在位图上显示任何类型的视图(当然没有父视图),我可以调用下一个函数: public void drawView ..
发布时间:2022-01-06 12:05:28 移动开发

为什么 Scala 中没有可变的 TreeMap?

是时间不够、技术问题还是不存在的原因? 解决方案 这只是一个缺失的案例,大概最终会被填补.没有理由不这样做,在某些情况下,它会比不可变树(因为修改需要使用不可变树创建 log(n) 个对象,而使用可变树只需要 1 个). 编辑:实际上是在2.12填写的. 可变树图. (也有对应的Set.) ..
发布时间:2022-01-05 18:42:52 其他开发

循环中的可变借用

我有以下代码: struct Baz {x:使用量,y:使用,}结构栏{巴兹:巴兹,}impl 栏 {fn get_baz_mut(&mut self) ->&mut Baz {&mut self.baz}}结构 Foo {酒吧:酒吧,}impl Foo {fn foo(&mut self) ->选项{因为我在 0..4 {让 baz = self.bar.get_baz_m ..
发布时间:2022-01-05 12:07:33 其他开发

为什么 Rust 编译器会出现“不能作为不可变借用,因为它也被作为可变借用"的错误?将变量移入作用域后?

在阅读了 Rust 的作用域和引用之后,我编写了一个简单的代码来测试它们. fn main() {//1.定义一个字符串让 mut a = String::from(“很棒");//2. 获取可变引用让 b = &mut a;b.push_str(“微风");println!("b = {:?}", b);//3.一个作用域:c退出这个作用域后就没用了{让 c = &a;println!("c ..
发布时间:2022-01-05 12:06:41 其他开发

为什么我不能从闭包返回对外部变量的可变引用?

当我遇到这个有趣的场景时,我正在玩 Rust 闭包: fn main() {让 mut y = 10;让 f = ||&mut y;F();} 这给出了一个错误: error[E0495]:由于需求冲突,无法推断借用表达式的适当生命周期-->src/main.rs:4:16|4 |让 f = ||&mut y;|^^^^^^|注意:首先,生命周期不能超过 4:13 身体定义的生命周期.... ..
发布时间:2022-01-05 11:59:02 其他开发

对可变对象使用 volatile 关键字

在 Java 中,我知道 volatile 关键字提供了对变量的可见性.问题是,如果变量是对可变对象的引用,volatile 是否也提供对该对象内部成员的可见性? 在下面的示例中,如果多个线程正在访问 volatile Mutable m 并更改 value,它是否正常工作? 示例 类可变{私有整数值;公共 int get(){返回一个;}公共整数集(整数值){this.value ..
发布时间:2021-12-28 22:55:39 Java开发