![]() |
1
3
你理解错了。是的,整数是不可变的。但是映射值没有改变,因为整数是值类型,所以被一个值传递给映射的add()方法。换句话说,地图上有一个 复制 传递给add()方法的值,而不是对 变量 传递到方法。 要解决这个问题,需要将整数包装在引用类型(类)中,并为映射提供对该类所需实例的引用。然后,确保无论何时更改整数,都将其作为正确实例的成员进行更改。 |
![]() |
2
1
您可以将其更改为让哈希表只保存对类本身的引用(中断),而不是单个int值。这样,就可以根据实例查找int值。 |
![]() |
3
0
如果您使用一个字典,并传递成员的地址,它将工作……只要中断对象被固定。然而,由于中断是一个引用类,这也需要大量的工作。我真的认为你最好现在就咬紧牙关,做你的重构,因为这似乎是正确的事情。 |
![]() |
Community wiki · safe_ptr实现 1 年前 |
![]() |
lplplplp · 为什么不能访问函数外的结构指针 2 年前 |
![]() |
Fabio · 在c中将指针赋给常数指针++ 2 年前 |
![]() |
Gabe Tucker · 无法在golang中分配接口对象指针 2 年前 |