C 的四種強制型別轉換

2021-08-18 14:39:49 字數 973 閱讀 1951

標準c++的型別轉換符:static_cast、dynamic_cast、reinterpret_cast和const_cast

型別轉換的一般形式:cast-name(expression);

我們知道:資料型別不一樣,肯定不能賦值,能賦值的原因是發生了一定的型別轉換,下面我們來逐一看看c++的型別轉換

1.靜態轉換 static_cast

static_cast的常見用法

(1)用於類層次結構中基類和派生類之間指標或引用的轉換

進行上行轉換(把派生類的指標或引用轉換成基類表示)是安全的

進行下行轉換(把基類的指標或引用轉換為派生類表示),由於沒有動態型別檢查,所以是不安全的

(2)用於基本資料型別之間的轉換,如把int轉換成char。

(3)把空指標轉換成目標型別的空指標

(4)把任何型別的表示式轉換為void型別

void main()

{ int i = 23424;

float f = 42.24f;

double d ;

f = static_cast

(i);

i = static_cast

(d);

void *p = &i;

//cout<<*pint *q = static_cast

(p);// 第二種方式用c++裡面的靜態型別轉換

cout

<<*q<2.**常量轉換 const_cast**

去常屬性,該運算子只能改變運算物件的底層const,實質:表面改,字元常量無法改變

void main()

{ //常量轉換 const_cast

const int i = 321;

const int *p = &i;

int *q = const_cast

C 四種強制型別轉換

c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...

C 四種強制型別轉換

1 概述 去const屬性用const cast。基本型別轉換用static cast。多型類之間的型別轉換用daynamic cast。不同型別的指標型別轉換用reinterpreter cast。2 詳解加示例 a const cast 用法 const cast 型別 表示式 用途 刪除con...

C 四種強制型別轉換

c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...