问答详情
源自:2-9 强制类型转换

强制类型转换的一般形式

据类型和表达式都必须加括号

那是不是当表达式为单项式就可以省略括号了? 比如说举例中的 int tempTwo = (int)tempOne

不太懂呢(⊙o⊙)…

提问者:海哈哈 2015-02-09 23:17

个回答

  • Fiona0126
    2015-02-09 23:23:21
    已采纳

    可以~

  • 乔葱葱
    2015-02-10 00:36:57

    类型转换分为显式和隐式。写上(int)这样的叫显式类型转换,省掉就叫隐式类型转换。


    float a = 4.35;

    int b = a; //这叫隐式类型转换,由编译器自主决定转换类型

    int c = (int)a; //这叫显式类型转换, 由手工指定转换类型


    对于大部分编译器来说,基本类型之间的隐式类型转换都不存在问题,但是诸如函数参数传递等,可能就需要用显式类型转换了。


    比如函数声明为 bool func(int);

    对于有些编译器,如果用func(a)进去,可能就编译报错,但是如果用 func((int)a)就没问题了。