![]() |
1
3
问题是由参考衰减引起的:(正确的术语是“参考崩溃”)。
代码中问题的答案是f()是:
因为参考衰变,它变成了:
如您所料,这当然会与定义如下的任何内容不明确:
这可能有效(固定版本):
原因是这种引用衰减只发生在T上模板化的函数中。在这种情况下,您的指针类是,但构造函数实际上不是模板本身,因此T&对于T&版本来说永远不是有效的T。 第一个版本仍然存在与代码相同的问题,因为的地址\只是使用t作为指针的模板参数。我们实际上需要原始类型。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 4 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 4 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 4 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |