stl中的型別轉換

2022-03-14 00:46:09 字數 780 閱讀 8626

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 2

using

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風格的型別轉換還是不...