static_cast dynamic_cast const_cast reinterpret_cast
1、static_cast
可以把static_cast看做乙個強制轉換的操作。沒有什麼好說的。
2、dynamic_cast
類的繼承關係圖:【a為基類】
void f(d* pd)
還存在一種交叉轉換,如 d --->b 的轉換。。。,這在static_cast是不可能執行的轉換的。
如下面的**:
view code
1 #include 2using
namespace
std;34
classb5
*/9};10
11classc12
16};
1718
class d : public b, public
c 19;22
23void
main()
2433
*/34 b *pb3 = dynamic_cast(pc);
35if(pb3 ==null)
3639 }
注:dynamic_cast還存在乙個動態檢測的功能,如果沒有正確轉換,dynamic_cast返回的是null。
STL中的型別
一 常整數對映為型別 alexandrescu提出的簡單而有用的template template struct int2type enum template class niftycontainer private void dosomething t pobj,int2type t pnewob...
matlab中強制型別轉換 型別轉換
上一期提到 隱式型別強制轉換 implicit type coercion 隱式型別強制轉換會造成意外。為了避免出現意外,c 提供了明式型別轉換,允許程式設計師通過使用型別轉換操作 cast operator 主動轉換資料的型別。型別轉換操作也可直接稱為型別轉換 type conversion ty...
C 中的型別轉換
和goto語句一樣型別轉換的名聲似乎也是不那麼好。不過型別轉換在某些緊要關頭就顯得尤為重要,看看現有的c c 就知道,以至於你不理解轉換的作用,將是無法閱讀的。就像鈾,它能變成原子彈,但它也能用來發電,是災難還是福祉那就要看人類了。顯然型別轉換默默承受著這不公的一切。不管怎麼說c風格的型別轉換還是不...