![]() |
1
2
您的集合包含指针,而不是
当然,TeamA中第一个对象的地址与TeamB中第一个玩家的地址不同,即使它们包含相同的数据。 如果要按指针对象进行比较,请使用自定义比较器类型:
而player类实现
|
![]() |
2
1
如果我的假设是正确的,这不会像你预期的那样成功!
我假设你想让一个叫“a”的球员成为两队的一员。如果该玩家在团队A中获胜,则其wins属性将增加,与在团队B中获胜的情况相同。 然而,你实际上做的是创建两个不同的玩家,都被称为“a”,他们都出现在集合中(好吧,实际上不是,见下文…),每个人都保持自己的胜利(第一个玩家“a”是a队的胜利,第二个是B队的胜利)。 你怎么了
但这也行不通:
此外,
结论:
现在让我们一个团队获胜:
嘿,这只是
如果使用智能指针,您可以跳过删除,例如:
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 3 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |