21型別轉換

2021-08-02 19:14:42 字數 1028 閱讀 6041

典型案例總結

靜態型別轉換,編譯的時c++編譯器會做型別檢查;

基本型別能轉換 但是不能轉換指標型別,只要隱式型別轉換可以的地方都可以使用static_cast。

若不同型別之間,進行強制型別轉換,用reinterpret_cast<>() 進行重新解釋。

一般性結論:

總結:static_cast<>()和reinterpret_cast<>() 基本上把c語言中的 強制型別轉換給覆蓋。reinterpret_cast<>()很難保證移植性。

dynamic_cast<>(),動態型別轉換,安全的基類和子類之間轉換;執行時型別檢查

const_cast<>(),去除變數的唯讀屬性

void main()

class animal 

;class dog : public animal

void doswim()

};class cat : public animal

void dotree()

};class book

private:

int price;

};void objplay(animal *base)

cat *pcat = dynamic_cast

(base);

if (pcat != null)

}void main()

//典型用法 把形參的唯讀屬性去掉

void opbuf(const

char *p)

void main()

結論1:程式設計師要清除的知道: 要轉的變數,型別轉換前是什麼型別,型別轉換後是什麼型別。轉換後有什麼後果。

結論2:一般情況下,不建議進行型別轉換;避免進行型別轉換。

七型別轉換

c 提供六種型別轉換符號。前兩種是c風格,稱為c風格強制轉換,t 或者t 他們的效果一樣。後面四種分別是 負責將const型別轉換為非const型別,也可以反過來轉換。通常非const型別會自動轉換成const型別,所以一般不需要使用const cast進行轉換,但是如果有過載函式或者模板特化的話,...

009 型別轉換

運算子兩邊的資料型別必須一致,且表示式的值 也是運算子兩邊的數的型別,不一致時,要先轉換,再運算。自動型別轉換 隱式型別轉換 將精度低的轉為精度高的資料,系統自動進行,不會造成資料精度丟失。前提 型別相容 double int double string 目標型別精度大於源型別 顯式型別轉換 強制轉...

4 1 型別轉換

影象型別轉換就是把影象從一種型別轉換成另一種型別。opencv提供了200多種型別轉換。我們這次學三個。型別有 cv2.color bgr2gray 彩色影象轉灰度影象 cv2.color bgr2rgb bgr轉rgb cv2.color gray2bgr 灰度轉彩色 使用方法 b cv2.cvt...