c++運算式–類型轉換

來源:互聯網
上載者:User

隱式類型轉換
1. 混合算術運算中,最寬的類型為目標轉換類型
 int x = 2.32+2;   //2被提升為double型
2. 賦值運算中,被賦值對象為目標轉換類型
   int x = 2.32+2   //2被提升為double型後,相加為4.32  double再轉換為int, 賦值給x, 注意小數位直接捨去。
3. 函數調用參數中
    double sqrt(double);    sqrt(2);   //會將2轉為double型
4. 函數調用傳回值中
    double sqrt(double)
   {
      return 2;      //2會被轉為double型
   }

算術轉換
1. 為防止精度損失,類型總是轉換為較寬的類型
2. 所有小於整形的有序序列運算式中,在運算前都會轉為整形
char cval;
bool found;
enum mumble{m1, m2, m3} mval;
unsigned long ulong;
char c1='a', c2='b';

cval+ulong;    //可認為cval先轉為int型,再進行計算
sizeof(c1+c2);  //會先將c1, c2都轉換為int型

unsigned int 與int相比,unsinged為較寬的
有些例外,如long型+ unsinged int型,會都轉為unsigned long(32位作業系統)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.