欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C++中怎么強(qiáng)制類型轉(zhuǎn)換函數(shù)

本篇文章給大家分享的是有關(guān)C++中怎么強(qiáng)制類型轉(zhuǎn)換函數(shù),小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

10多年的昌黎網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整昌黎建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“昌黎網(wǎng)站設(shè)計”,“昌黎網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實(shí)執(zhí)行。

1)static_cast<T*>(a)

將地址a轉(zhuǎn)換成類型T,T和a必須是指針、引用、算術(shù)類型或枚舉類型。

表達(dá)式static_cast<T*>(a), a的值轉(zhuǎn)換為模板中指定的類型T.在運(yùn)行時轉(zhuǎn)換過程中,不進(jìn)行類型檢查來確保轉(zhuǎn)換的安全性。

例子:

class B { ... };  class D : public B { ... };  void f(B* pb, D* pd)  {  D* pd2 = static_cast<D*>(pb); // 不安全, pb可能只是B的指針B* pb2 = static_cast<B*>(pd); // 安全的  ...  }  class B { ... };  class D : public B { ... };  void f(B* pb, D* pd)  {  D* pd2 = static_cast<D*>(pb); // 不安全, pb可能只是B的指針  B* pb2 = static_cast<B*>(pd); // 安全的  ...  }  class B { ... };  class D : public B { ... };  void f(B* pb, D* pd)  {  D* pd2 = static_cast<D*>(pb); // 不安全, pb可能只是B的指針  B* pb2 = static_cast<B*>(pd); // 安全的  ...  }

2)dynamic_cast<T*>(a)

完成類層次結(jié)構(gòu)中的提升。T必須是一個指針、引用或無類型的指針。a必須是決定一個指針或引用的表達(dá)式。

表達(dá)式dynamic_cast<T*>(a) 將a值轉(zhuǎn)換為類型為T的對象指針。如果類型T不是a的某個基類型,該操作將返回一個空指針。

例子:

class A { ... };  class B { ... };  void f()  {  A* pa = new A;  B* pb = new B;  void* pv = dynamic_cast<A*>(pa);  // pv 現(xiàn)在指向了一個類型為A的對象  ...  pv = dynamic_cast<B*>(pb);  // pv 現(xiàn)在指向了一個類型為B的對象  }

3)const_cast<T*>(a)

去掉類型中的常量,除了const或不穩(wěn)定的變址數(shù),T和a必須是相同的類型。

表達(dá)式const_cast<T*>(a)被用于從一個類中去除以下這些屬性:const, volatile, 和 __unaligned.

例子:

class A { ... };  void f()  {  const A *pa = new A;//const對象  A *pb;//非const對象  //pb = pa; // 這里將出錯,不能將const對象指針賦值給非const對象  pb = const_cast<A*>(pa); // 現(xiàn)在OK了  ...  }  class A { ... };  void f()  {  const A *pa = new A;//const對象  A *pb;//非const對象  //pb = pa; // 這里將出錯,不能將const對象指針賦值給非const對象  pb = const_cast<A*>(pa); // 現(xiàn)在OK了  ...  }  class A { ... };  void f()  {  const A *pa = new A;//const對象  A *pb;//非const對象  //pb = pa; // 這里將出錯,不能將const對象指針賦值給非const對象  pb = const_cast<A*>(pa); // 現(xiàn)在OK了  ...  }

4)reinterpret_cast<T*>(a)

任何指針都可以轉(zhuǎn)換成其它類型的指針,T必須是一個指針、引用、算術(shù)類型、指向函數(shù)的指針或指向一個類成員的指針。

表達(dá)式reinterpret_cast<T*>(a)能夠用于諸如char* 到 int*,或者One_class* 到 Unrelated_class*等類似這樣的轉(zhuǎn)換,因此可能是不安全的。

例子:

class A { ... };  class B { ... };  void f()  {  A* pa = new A;  void* pv = reinterpret_cast<A*>(pa);  // pv 現(xiàn)在指向了一個類型為B的對象,這可能是不安全的  ...  }

以上就是C++中怎么強(qiáng)制類型轉(zhuǎn)換函數(shù),小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前文章:C++中怎么強(qiáng)制類型轉(zhuǎn)換函數(shù)
網(wǎng)頁路徑:http://chinadenli.net/article18/jiiedp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、搜索引擎優(yōu)化、營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站