新型型別轉換

2021-10-10 16:23:16 字數 636 閱讀 1664

c語言的強制型別轉換過於暴力,上百萬行的**中容易發生段錯誤,難以定位

static_cast

-用於基本型別間的轉換

-不能用於基本型別指標間的轉換

-用於有繼承關係類物件之間的轉換和類指標之間的轉換

void

static_cast_demo()

const_cast

-用於去除變數的唯讀屬性

-強制轉換的目標型別必須是指標或者引用

void

const_cast_demo()

reinterpret_cast

-用於指標型別間的強制型別轉換

-用於整數和指標間的強制型別轉換

void

reinterpret_cast_demo()

dynamic_cast

-用於有繼承關係的類指標間的轉換

-用於有交叉關係的類指標間的轉換

-具有型別檢查的功能

-需要虛函式的支援

void

dynamic_cast_demo()

11 新型的型別轉換

注 部落格中內容主要來自 狄泰軟體學院 部落格僅當私人筆記使用。測試環境 ubuntu 10.10 gcc版本 4.4.5 一 強制型別轉換 1 c方式的強制型別轉換 type expression type expression typedef void pf int struct point i...

C 11 新型的型別轉換

include typedef void pf int struct point int main 輸出 無警告,無錯誤 段錯誤c 方式強制型別轉換存在的問題 問題 強制型別轉換在實際工程中是很完全難避免的!如何進行更加安全可靠的轉換呢?static cast const cast dynamic ...

5 C 裡的4種新型型別轉換

1首先來回顧 c的強制轉換 大家都知道,在編譯 c語言中的強制轉換時 編譯器不會檢查轉換是否成功 都會編譯正確 比如 include stdio.h struct position int main 輸出結果如下圖所示 從上圖可以看到,只有當執行 時 才會出現段錯誤問題 當c 上千行時 若出現這種問...