国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

大理市住房和城鄉(xiāng)建設(shè)局網(wǎng)站磁力棒

大理市住房和城鄉(xiāng)建設(shè)局網(wǎng)站,磁力棒,地方網(wǎng)站模板,北京旅行社網(wǎng)站建設(shè)公司目錄 1. C語言中的類型轉(zhuǎn)換 2. C強(qiáng)制類型轉(zhuǎn)換 2.1static_cast 2.2 reinterpret_cast 2.3 const_cast 2.4 dynamic_cast 3. RTTI(了解) 1. C語言中的類型轉(zhuǎn)換 在 C 語言中,如果 賦值運(yùn)算符左右兩側(cè)類型不同,或者形參與實(shí)參類型不…

目錄

1. C語言中的類型轉(zhuǎn)換

2. C++強(qiáng)制類型轉(zhuǎn)換

?2.1static_cast

?2.2?reinterpret_cast

?2.3 const_cast

?2.4 dynamic_cast

3. RTTI(了解)


1. C語言中的類型轉(zhuǎn)換

C 語言中,如果 賦值運(yùn)算符左右兩側(cè)類型不同,或者形參與實(shí)參類型不匹配,或者返回值類型與
接收返回值類型不一致時(shí),就需要發(fā)生類型轉(zhuǎn)化 C 語言中總共有兩種形式的類型轉(zhuǎn)換: 隱式類型
轉(zhuǎn)換和顯式類型轉(zhuǎn)換
1. 隱式類型轉(zhuǎn)化:編譯器在編譯階段自動(dòng)進(jìn)行,能轉(zhuǎn)就轉(zhuǎn),不能轉(zhuǎn)就編譯失敗
2. 顯式類型轉(zhuǎn)化:需要用戶自己處理

C 風(fēng)格的轉(zhuǎn)換格式很簡(jiǎn)單,但是有不少缺點(diǎn)的:
????????1. 隱式類型轉(zhuǎn)化有些情況下可能會(huì)出問題:比如數(shù)據(jù)精度丟失;
????????2. 顯式類型轉(zhuǎn)換將所有情況混合在一起,代碼不夠清晰。
因此 C++ 提出了自己的類型轉(zhuǎn)化風(fēng)格,注意 因?yàn)?/strong> C++ 要兼容 C 語言,所以 C++ 中還可以使用 C 語言的
轉(zhuǎn)化風(fēng)格 。

2. C++強(qiáng)制類型轉(zhuǎn)換

標(biāo)準(zhǔn) C++ 為了加強(qiáng)類型轉(zhuǎn)換的可視性,引入了四種命名的強(qiáng)制類型轉(zhuǎn)換操作符: static_cast、reinterpret_cast、const_cast、dynamic_cast 。

?2.1static_cast

static_cast 用于非多態(tài)類型的轉(zhuǎn)換(靜態(tài)轉(zhuǎn)換),編譯器隱式執(zhí)行的任何類型轉(zhuǎn)換都可用
static_cast ,但它不能用于兩個(gè)不相關(guān)的類型進(jìn)行轉(zhuǎn)換

?2.2?reinterpret_cast

reinterpret_cast 操作符通常為操作數(shù)的位模式提供較低層次的重新解釋,用于將一種類型轉(zhuǎn)換
為另一種不同的類型 。

?2.3 const_cast

const_cast最常用的用途就是刪除變量的const屬性,方便賦值

?這里為什么值沒有發(fā)生變化呢?

這是因?yàn)榫幾g器進(jìn)行了優(yōu)化,編譯器認(rèn)為a有const屬性并不會(huì)被改變,所以使用時(shí)就直接暫存到寄存器里了,而后面我們?nèi)コ鬰onst屬性對(duì)a進(jìn)行修改,只是修改了a在內(nèi)存中的值,寄存器中的值并沒有被改變,這里想實(shí)現(xiàn)我們想要的結(jié)果需要一個(gè)關(guān)鍵字volatile,它會(huì)禁止編譯器優(yōu)化。

?2.4 dynamic_cast

dynamic_cast 用于將一個(gè)父類對(duì)象的指針 / 引用轉(zhuǎn)換為子類對(duì)象的指針或引用 ( 動(dòng)態(tài)轉(zhuǎn)換 )
向上轉(zhuǎn)型:子類對(duì)象指針 / 引用 -> 父類指針 / 引用 ( 不需要轉(zhuǎn)換,賦值兼容規(guī)則 )
向下轉(zhuǎn)型:父類對(duì)象指針 / 引用 -> 子類指針 / 引用 ( dynamic_cast 轉(zhuǎn)型是安全的 )

這里我們直接進(jìn)行強(qiáng)轉(zhuǎn)是不安全的,如果pa指向的是子類對(duì)象,那么轉(zhuǎn)回子類類型是沒問題的,如果pa指向的是父類對(duì)象,那么轉(zhuǎn)回子類會(huì)多看一部分,是會(huì)有越界訪問風(fēng)險(xiǎn)的。

注意:
1. dynamic_cast 只能用于父類含有虛函數(shù)的類
2. dynamic_cast 會(huì)先檢查是否能轉(zhuǎn)換成功,能成功則轉(zhuǎn)換,不能則返回 0

?

注意
強(qiáng)制類型轉(zhuǎn)換關(guān)閉或掛起了正常的類型檢查 ,每次使用強(qiáng)制類型轉(zhuǎn)換前,應(yīng)該仔細(xì)考慮是否還有其他不同的方法達(dá)到同一目的,如果非強(qiáng)制類型轉(zhuǎn)換不可,則應(yīng)限制強(qiáng)制轉(zhuǎn)換值的作用域,以減少發(fā)生錯(cuò)誤的機(jī)會(huì)。強(qiáng)烈建議:避免使用強(qiáng)制類型轉(zhuǎn)換

3. RTTI(了解)

RTTI Run-time Type identifification 的簡(jiǎn)稱,即:運(yùn)行時(shí)類型識(shí)別。
C++ 通過以下方式來支持 RTTI
1. typeid 運(yùn)算符
2. dynamic_cast 運(yùn)算符
3. decltype
http://m.aloenet.com.cn/news/42523.html

相關(guān)文章:

  • wordpress 漏洞 掃描seo網(wǎng)站推廣專員
  • web網(wǎng)站開發(fā)用什么語言網(wǎng)絡(luò)廣告電話
  • 服飾網(wǎng)站模板設(shè)計(jì)百度搜索引擎怎么弄
  • 廣西網(wǎng)站建設(shè)運(yùn)營費(fèi)用專業(yè)代寫文案的公司
  • html網(wǎng)站開發(fā)工具有哪些互聯(lián)網(wǎng)登錄的網(wǎng)站名
  • 做sns網(wǎng)站需要什么百度熱線電話
  • 網(wǎng)站建設(shè)技術(shù)哪個(gè)好seo管理系統(tǒng)
  • qt科技感ui界面sem優(yōu)化軟件哪家好
  • 石家莊做網(wǎng)站價(jià)格網(wǎng)站優(yōu)化的關(guān)鍵詞
  • 網(wǎng)站做流量怎么賺錢的培訓(xùn)后的收獲和感想
  • 濟(jì)南網(wǎng)站建設(shè)工作室網(wǎng)球排名即時(shí)最新排名
  • 有沒有做網(wǎng)站的聯(lián)系方式經(jīng)典營銷案例分析
  • 消費(fèi)返利系統(tǒng)網(wǎng)站建設(shè)廈門站長(zhǎng)優(yōu)化工具
  • 做電商網(wǎng)站注意什么問題seo推廣代運(yùn)營
  • 建設(shè)信用卡銀行積分商城網(wǎng)站福清網(wǎng)絡(luò)營銷
  • 網(wǎng)站制作難點(diǎn)seo是做什么工作內(nèi)容
  • 網(wǎng)站設(shè)計(jì)流程電話站長(zhǎng)工具網(wǎng)
  • 網(wǎng)站開發(fā)管理電工培訓(xùn)技術(shù)學(xué)校
  • 怎么建設(shè)自己網(wǎng)站企業(yè)宣傳推廣
  • 國內(nèi)房地產(chǎn)設(shè)計(jì)網(wǎng)站建設(shè)網(wǎng)站優(yōu)化公司開始上班了
  • 制作釣魚網(wǎng)站的費(fèi)用永久免費(fèi)跨境瀏覽app
  • 怎么接做網(wǎng)站的任務(wù)seo在線優(yōu)化技術(shù)
  • 廣州展廳設(shè)計(jì)公司排名廣州seo優(yōu)化推廣
  • 網(wǎng)站搜索框如何做國內(nèi)最好用的免費(fèi)建站平臺(tái)
  • 高端建筑鋁型材seo資料站
  • 做網(wǎng)站需要公司資質(zhì)嗎免費(fèi)創(chuàng)建自己的網(wǎng)站
  • 摩洛哥網(wǎng)站后綴網(wǎng)上電商平臺(tái)開發(fā)
  • 馬鞍山做網(wǎng)站公司百度搜索引擎入口官網(wǎng)
  • 備案網(wǎng)站地址qq推廣
  • 作圖網(wǎng)站做課程表紹興seo推廣公司