首页 > 技术文章 > C++小点之四种强制类型转换

Tattoo-Welkin 2018-05-10 15:47 原文

提问:

1.为什么要搞出四种,用原先使用的那种不可以吗?

答:因为强制类型转换时是具有一定的风险的,这种风险包括(精度的损失 ,派生类与基类的一些转换关系) 而且根据风险程度的不同导致的 bug 也会不同 ,再加上存在许多种类型之间的转换 ,
所以C++选择将其分为四种 。

2.这样分类之后又有什么好处呐?

答:关于这个问题,让我们来设想一个场景。假如你现在知道你的bug 是因为指针类型之间的转换所导致的 ,那你现在就必须得定位它/它们 ,如果还用以前的那种方式,就会找到许多无关于这次需求的东西,如果使用C++的这种方式,你只需要去找所对应的 _cast 就行了 。很方便吧

推荐阅读