日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

强制类型转换简介

發布時間:2023/12/2 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 强制类型转换简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
強制類型轉換簡介 強制類型轉換 當操作數的類型不同,而且不屬于基本數據類型時,經常需要強制類型轉換,將操作數轉化為所需要的類型。強制類型轉換具有兩種形式,稱為顯式強制轉換和隱式強制類型轉換。強制類型轉換不改變原來數據的類型。 C++常用的強制類型轉換函數有:const_cast,static_cast,reinterpreter_cast和dynamic_cast

強制類型轉換方式

1、顯式強制類型轉換 C中顯式強制類型轉換很簡單,格式如下: TYPE b = (TYPE) a; 其中,TYPE為類型描述符,如int,float等。經強制類型轉換運算符運算后,返回一個具有TYPE類型的數值,這種強制類型轉換操作并不改變操作數本身,運算后操作數本身未改變,例如: int n=0xab65; char cChar=(char)n; 上述強制類型轉換的結果是將整型值0xab65的高端一個字節刪掉,將低端一個字節的內容作為char型數值賦值給變量cChar,而經過類型轉換后nVar的值并未改變。 C++中強制類型轉換函數有4個:const_cast(用于去除const屬性),static_cast(用于基本類型的強制轉換),dynamic_cast(用于多態類型之間的類型轉換),reinterpreter_cast(用于不同類型之間的指針之間的轉換,最常用的就是不同類型之間函數指針的轉換)。   2、隱式強制類型轉換 隱式類型轉換發生在賦值表達式和有返回值的函數調用表達式中。在賦值表達式中,如果賦值符左右兩側的操作數類型不同,則將賦值符右邊操作數強制轉換為賦值符左側的類型數值后,賦值給賦值符左側的變量。在函數調用時,如果return后面表達式的類型與函數返回值類型不同,則在返回值時將return后面表達式的數值強制轉換為函數返回值類型后,再將值返回,如: int nVar; double dVar=3.88; nVar=dVar;//執行本句后,nVar的值為3,而dVar的值仍是3.88 類型轉換: 1.自動類型轉換 2.強制類型轉換 自動類型轉換分兩種情況:1,不同類型的數據進行運算時,系統會自動將運算優先級別低的轉換成級別高的,結果和運算級別高的數據類型一樣。2,賦值運算符兩邊類型不一樣時,系統會自動將右側表達式的類型轉換成左側的變量類型,然后再賦值 強制類型轉換: 如:(int)3.1415? ?//就是取整數部分 (int)a%10??//取a的個位數 若a是int型,取a的平方根就是??sqrt((double)a)??。 3、隱式自動類型轉換: C++語言編譯系統提供的內部數據類型的隱式自動轉換規則如下: 1.執行算術運算時,低類型(短字節)可以轉換為高類型(長字節);例如: int型轉換成double型,char型轉換成int型,等等; 2.賦值表達式中,等號右邊表達式的值的類型自動隱式地轉換為左邊變量的類型,并賦值給它; 3.函數調用時,將實參的值傳遞給形參,系統首先會自動隱式地把實參的值的類型轉換為形參的類型,然后再賦值給形參; 4.函數有返回值時,系統首先會自動隱式地將返回表達式的值的類型轉換為函數的返回類型,然后再賦值給調用函數返回; 三、單參構造函數具有類型轉換功能: 實際應用中,當一個類定義中提供了單個參數的構造函數時,該類便提供了一種將其它數據類型的數值或變量轉換為用戶所定義數據類型的方法;因此,可以說,單個參數的構造函數提供了數據類型轉換的功能;

總結

以上是生活随笔為你收集整理的强制类型转换简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。