转换

类型转换 :数据类型转换就是将数据(变量,数值,表达式的结果等)从一种类型转换为另一种类型。自动类型转换就是编译器默默地,隐式地,偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。100是int类型的数据,需要先转换为float类型才能赋值给变量f。再如:f是float额理性的书,需要先转换为int类型才能赋值给变量n。在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型转换为左边边纳凉的类型,这可能会导致数据失真,或者精度降低;所以说,自动类型转换并不一定是安全的。对于不安全的类型转换,编译器一般会给出警告。2)在不同类的混合运算中,编译器也会自动地转换数据类型,将参与运算的所有数据先转换为同一种类型,然后再进行计算。

隐式转换 :c++中的基本类型并非完全对立,部分额理性之间是可以进行隐式转换的,所谓隐式转换,是指不需要用户干预,编译器私下进行的类型转换行为,很多时候用户都不知道具体进行了哪些转换 为什么要进行隐式 转换 :隐式转换可以让程序员在两种不同类型的数据直接进行操作,而不用自行转你换类型,隐式转换给程序开发者带来了不小的便捷隐式转换的原则:基本数据类型的转换以取值范围作为转换基础(保证精度不丢失......C语言里有各种数据类型,包含char,uchar,short,ushort,int,unit,long,ulong,float,double)

显示转换 :显示转换与隐式转换相反的数据类型的转换,即需要人为强制干扰的数据转换

强制转换 :强制转换是显示告知编译器以下信息的一种方式 :你打算进行转换且你知道可能会发生数据丢失,或者你知道强制转换有可能在运行时失败。若是执行强制转换,请在要转换的值或变量的括号中指定强制转换的类型

对比:

隐式转换和显示转换要求是同类型的,就是说两种数据类型必须兼容,隐式转换是向上转化(相当是子类转父类),而强制额理性转换则是向下转换(相当于是父类转子类),就好像Double型的可以包含int一样

 

posted @ 2021-07-28 19:24  墨云客  阅读(255)  评论(0)    收藏  举报