c 中的型別轉換

2021-10-03 11:55:42 字數 1156 閱讀 2151

double pi =

3.14

;int num1 = pi;

int num2 =

static_cast

<

int>

(pi)

;//用於基礎型別轉換 不包括指標

char

*ch =

"nihao "

;int

*ch2 =

reinterpret_cast

<

int*>

(ch)

;//強制轉換換 包括指標

// 但不包括基礎型別

cout <

<

"ch:"

<

< ch <

< endl;

//輸入nihao

cout <

<

"ch2:"

<

< ch2 <

< endl;

//輸入ch2的位址

system

("pause");

return

0;

類關係

animal派生dog和cat

tree單獨類

animal*pbase =

null

; pbase = pdog;

//right

pbase = static_cast>

(pdog)

;//right

pbase = reinterpret_cast>

(pdog)

;//right

pbase = dynamic_cast>

(pdog)

;//right

tree*ptree = new tree;

pbase = ptree;

//error

pbase = static_cast>

(ptree)

;//error

pbase = reinterpret_cast>

(ptree)

;//right 強制轉換

pbase = dynamic_cast>

(ptree)

;//error

C 中的型別轉換

和goto語句一樣型別轉換的名聲似乎也是不那麼好。不過型別轉換在某些緊要關頭就顯得尤為重要,看看現有的c c 就知道,以至於你不理解轉換的作用,將是無法閱讀的。就像鈾,它能變成原子彈,但它也能用來發電,是災難還是福祉那就要看人類了。顯然型別轉換默默承受著這不公的一切。不管怎麼說c風格的型別轉換還是不...

C 中的型別轉換

1.隱式轉換 1 賦值轉換 將右值轉換為左型別,然後再賦值。2 整型提公升 c 將bool char,unsigned char,singned char,short轉換為int,int計算最快 表示式中的優先順序轉換 long double double float unsigned long 對...

C 中的型別轉換

我們知道 變數的型別定義了物件能包含的資料和參與的運算。其中一種運算被大多數型別支援,就是將變數從某一種給定的型別轉化為另外的型別。在了解型別轉換種類之前,首先牢記 型別轉換只是暫時的,原來的變數型別並不改變。在c語言中,分為兩種型別轉換 1,隱式型別轉換 2,顯示型別轉換 例如 double d ...