c – 隐式投射被认为是一个坏概念吗?
为什么隐式铸造甚至被允许?我的意思是隐式地将浮点数转换为int的好处是什么?显式转换是否使代码更易读和更容易调试?
解决方法
第一:C中的大量隐式转换是由于
历史原因,没有别的.我认为没有人会考虑 他们都是个好主意.另一方面,有很多不同 隐式转换的类型,其中一些几乎是必不可少的 语言:如果您需要显式转换,您不会喜欢它 传递MyType x;一个函数采用MyType const& ;;我很漂亮 确定有一个共识,const转换添加const,比如 这个,应该是隐含的. 关于没有达成共识的转换: >几乎没有人似乎有无损转换的问题; 最后:编译器可以自由发出任何感觉的警告 char ch = '0' + v % 10; 例如,涉及int到char的转换(即 char ch{ '0' + v % 10 }; 是非法的(但VC和g都接受它,g警告).一世怀疑可以使用,禁止缩小转换率至少会必须对更广泛类型本身所致的情况做出例外积分推广,混合型算术和来源的案例expression是一个编译时常量,它“适合”目标类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |