日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 默认站点!

默认站点

當(dāng)前位置: 首頁(yè) >

【C++】C++ 强制转换运算符

發(fā)布時(shí)間:2023/11/27 30 豆豆
默认站点 收集整理的這篇文章主要介紹了 【C++】C++ 强制转换运算符 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

C++ 運(yùn)算符

強(qiáng)制轉(zhuǎn)換運(yùn)算符是一種特殊的運(yùn)算符,它把一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換為另一種數(shù)據(jù)類(lèi)型。強(qiáng)制轉(zhuǎn)換運(yùn)算符是一元運(yùn)算符,它的優(yōu)先級(jí)與其他一元運(yùn)算符相同。

大多數(shù)的 C++ 編譯器都支持大部分通用的強(qiáng)制轉(zhuǎn)換運(yùn)算符:

(type) expression 

其中,type 是轉(zhuǎn)換后的數(shù)據(jù)類(lèi)型。下面列出了 C++ 支持的其他幾種強(qiáng)制轉(zhuǎn)換運(yùn)算符:

  • **const_cast (expr):** const_cast 運(yùn)算符用于修改類(lèi)型的 const / volatile 屬性。除了 const 或 volatile 屬性之外,目標(biāo)類(lèi)型必須與源類(lèi)型相同。這種類(lèi)型的轉(zhuǎn)換主要是用來(lái)操作所傳對(duì)象的 const 屬性,可以加上 const 屬性,也可以去掉 const 屬性。

  • **dynamic_cast (expr):** dynamic_cast 在運(yùn)行時(shí)執(zhí)行轉(zhuǎn)換,驗(yàn)證轉(zhuǎn)換的有效性。如果轉(zhuǎn)換未執(zhí)行,則轉(zhuǎn)換失敗,表達(dá)式 expr 被判定為 null。dynamic_cast 執(zhí)行動(dòng)態(tài)轉(zhuǎn)換時(shí),type 必須是類(lèi)的指針、類(lèi)的引用或者 void*,如果 type 是類(lèi)指針類(lèi)型,那么 expr 也必須是一個(gè)指針,如果 type 是一個(gè)引用,那個(gè) expr 也必須是一個(gè)引用。

  • reinterpret_cast (expr): reinterpret_cast 運(yùn)算符把某種指針改為其他類(lèi)型的指針。它可以把一個(gè)指針轉(zhuǎn)換為一個(gè)整數(shù),也可以把一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)指針。

  • static_cast (expr): static_cast 運(yùn)算符執(zhí)行非動(dòng)態(tài)轉(zhuǎn)換,沒(méi)有運(yùn)行時(shí)類(lèi)檢查來(lái)保證轉(zhuǎn)換的安全性。例如,它可以用來(lái)把一個(gè)基類(lèi)指針轉(zhuǎn)換為派生類(lèi)指針。

上述所有的強(qiáng)制轉(zhuǎn)換運(yùn)算符在使用類(lèi)和對(duì)象時(shí)會(huì)用到。現(xiàn)在,請(qǐng)看下面的實(shí)例,理解 C++ 中如何使用一個(gè)簡(jiǎn)單的強(qiáng)制轉(zhuǎn)換運(yùn)算符。復(fù)制并黏貼下面的 C++ 程序到 test.cpp 文件中,編譯并運(yùn)行程序。

#include <iostream>
using namespace std;int main()
{double a = 21.09399;float b = 10.20;int c ;c = (int) a;cout << "Line 1 - Value of (int)a is :" << c << endl ;c = (int) b;cout << "Line 2 - Value of (int)b is  :" << c << endl ;return 0;
}

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果

Line 1 - Value of (int)a is :21
Line 2 - Value of (int)b is  :10

總結(jié)

以上是默认站点為你收集整理的【C++】C++ 强制转换运算符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得默认站点網(wǎng)站內(nèi)容還不錯(cuò),歡迎將默认站点推薦給好友。