C++变量类型相互转换(自动转换和强制转换)

C++变量类型相互转换(自动转换和强制转换)

首先、作为一个职场小白,在此分享一下自己学习C++的一些心得体会,有问题大家可以留言区评论。如有错误,会马上纠正。
步入正题,今天要说的是C++中变量类型的相互转换有以下两种:

  • 自动转换
  • 强制转换

自动转换

  • 为保证精度,转换按照数据长度增加方向进行转换。如int和long进行运算,需要把int转换为long再进行运算
  • char和short参与运算时,必须转换成int型
  • 参与运算的类型不同,需提前转化成相同类型
  • 赋值操作时,=左右类型不同是,右边类型会自动转换成左边类型,如果右边类型长度>左边类型长度,则会降低精度

强制转换

其形式为:
(类型符号)(表达式) 例如:
(int)b 表示把b强制转换成int类型

代码解释

自动转换

    /* 输出为3.  损失精度(小数部分)*/
    int a = 2;
    double b = 3.5;
    a = b;
    cout << a << endl;  //output:3

强制转换

    /* 输出为5.  b强制转换成int类型*/
    int a = 2;
    double b = 3.5;
    a += (int)b;
    cout << a << endl;  //output:5
展开阅读全文

没有更多推荐了,返回首页