![]() |
1
2
原因
它在源代码中看起来有点难看。这个:
可能更好地维护和读取,尽管它更长(注意,它的含义并不完全相同,因为我们引入了一个额外的变量
|
![]() |
2
0
有些人对演员阵容中的引用感到困惑。如果没有参考,我们会得到这样的结果:
|
![]() |
3
-1
有趣的是,问题中缺少的是
假设
区别在于,在第一个版本中,强制转换是在赋值的左侧(LHS)执行的,因此必须是对引用(左值)的强制转换,而在第二个版本中,强制转换是在右侧(RHS)执行的,因此右值就足够了,不需要强制转换到引用。
现在,在一般情况下,这两种类型有差异。Reinterpret cast只会按照您告诉它的类型“重新解释”内存。如果
另一方面,如果一种类型大于另一种类型,则这两种操作是不等价的。如果
相反,如果
|
![]() |
Jiji · 将简单对象强制转换为简单的通用接口 6 年前 |
![]() |
tobeypeters · 反射铸造 6 年前 |
![]() |
Alex · 是否改为存储字符串的整数的通用ArrayList? 6 年前 |
![]() |
Kai · 如何在C#中转换会话中存储的词典? 6 年前 |
![]() |
Ján ЯabÄan · 布尔值到双精度的快速转换方法 6 年前 |