> Why use static_cast<int>(x) instead of (int)x?9个
在传统的C你可以做:
int i = 48;char c = (char)i;//Now c holds the value of 48. //(Of course if i > 255 then c will not hold the same value as i).
哪些c投射方法(static_cast,reinterpret_cast)适合完成这项工作?
解决方法 您可以在数值类型之间隐式转换,即使失去精度:char c = i;
但是,您可能希望启用编译器警告,以避免潜在的有损转换.如果你这样做,那么使用static_cast进行转换.
其他演员:
> dynamic_cast仅适用于指针或引用多态类类型;> const_cast不能改变类型,只有const或volatile限定符;> reinterpret_cast是针对特殊情况,在指针或引用之间进行转换以及完全不相关的类型.具体来说,它不会进行数字转换.> C风格和函数风格的casts做任何组合的static_cast,const_cast和reinterpret_cast需要完成工作.
总结以上是内存溢出为你收集整理的使用C风格的铸造转换int到char全部内容,希望文章能够帮你解决使用C风格的铸造转换int到char所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)