高階強制型別轉換

2021-07-10 19:03:55 字數 437 閱讀 5808

動態物件強制型別轉換:

萬一被強制轉換的型別和目標型別結構完全不同,咋整?

編譯器很笨的,它仍然將按照我們的**行事!這樣子的程式是相當危險的,隨時可能崩潰以及被崩潰。

因為在類繼承關係之間跳來轉去(也就是對有關物件進行強制型別轉換)在物件導向的程式裡非常重要,所以c++程式設計師準備了幾個新的強制型別轉換操作符(高階)!

動態強制型別轉換的語法與剛剛我們學到的有很大不同,它看起來更像是乙個函式呼叫:

techcompany *teccompany = dynamic_cast(company);

先在兩個尖括號之間寫出想要的指標型別,然後是將被轉換的值寫在括號中。

詳情請看這裡:

010 高階強制型別轉換

我們用傳統的強制型別轉換實現 把所需要的指標型別放在一對圓括號之間,然後寫出將被強制轉換的位址值。techcompany teccompany company 注意不能既刪除company,又刪除teccompany。因為強制型別轉換操作不會建立乙個副本拷貝,它只是告訴編譯器把有關變數解釋為另一種型...

高階強制型別轉換 C (38)

靜態物件強制型別轉換例如 右邊返回了乙個techcompany型別的指標,左邊定義了乙個company型別的指標,叫做company techcompany techcompany company 這兩句話的意思是 兩個相同型別的變數通過指標賦值,但是中間經過了乙個不同型別的指標,理論上是可行的,因...

強制型別轉換

關於強制型別轉換的問題,很多書都討論過,寫的最詳細的是c 之父的 c 的設計和演化 最好的解決方法就是不要使用c風格的強制型別轉換,而是使用標準c 的型別轉換符 static cast,dynamic cast。標準c 中有四個型別轉換符 static cast dynamic cast reint...