可能重复:
当两个链接的static_cast可以完成它的工作时,为什么我们在C++中有reinterpret_cast?
有人建议我不要在指向指针转换的情况下使用reinterpret_cast或const_cast.只应使用dynamic_cast.因为其他演员可能会在将来产生问题.所以我的问题是为什么不能从c ++标准中删除reinterpret_cast或其他危险的演员表.
因为有时候你需要一个能做什么的演员reinterpret_cast.至于dynamic_cast,我几乎从不使用这个演员; 这仅适用于从父类型转换为更多派生类型.大多数时候我可以证明我正在使用哪种类型的孩子,而且我会使用static_cast.我还static_cast用于编译时类型转换,例如从有符号到无符号整数.
static_cast不是dynamic_cast,是最常见的演员阵容.如果你的设计dynamic_cast过于依赖,那就是代码气味,表明你的类层次结构在大多数情况下都违反了LSP.
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |