真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c++中如何使用static_cast轉換-創(chuàng)新互聯(lián)

這篇文章主要介紹c++中如何使用static_cast轉換,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

站在用戶的角度思考問題,與客戶深入溝通,找到馬村網(wǎng)站設計與馬村網(wǎng)站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋馬村地區(qū)。

static_cast是一個強制類型轉換操作符。強制類型轉換,也稱為顯式轉換,C++中強制類型轉換操作符有static_cast、dynamic_cast、const_cast、reinterpert_cast四個。本節(jié)介紹static_cast操作符。

static_cast的轉換

?編譯器隱式執(zhí)行的任何類型轉換都可以由static_cast來完成,比如int與float、double與char、enum與int之間的轉換等。

doublea=1.999;

intb=static_cast(a);//相當于a=b;

當編譯器隱式執(zhí)行類型轉換時,大多數(shù)的編譯器都會給出一個警告:

e:\vs2010projects\static_cast\static_cast\static_cast.cpp(11):warningC4244:“初始化”:從“double”轉換到“int”,可能丟失數(shù)據(jù)

使用static_cast可以明確告訴編譯器,這種損失精度的轉換是在知情的情況下進行的,也可以讓閱讀程序的其他程序員明確你轉換的目的而不是由于疏忽。

把精度大的類型轉換為精度小的類型,static_cast使用位截斷進行處理。

?使用static_cast可以找回存放在void*指針中的值。

doublea=1.999;

void*vptr=&a;

double*dptr=static_cast(vptr);

cout<<*dptr<

static_cast用來做什么

static_cast也可以用在于基類與派生類指針或引用類型之間的轉換。然而它不做運行時的檢查,不如dynamic_cast安全。static_cast僅僅是依靠類型轉換語句中提供的信息來進行轉換,而dynamic_cast則會遍歷整個類繼承體系進行類型檢查,因此dynamic_cast在執(zhí)行效率上比static_cast要差一些?,F(xiàn)在我們有父類與其派生類如下:

classANIMAL

{

public:

ANIMAL():_type("ANIMAL"){};

virtualvoidOutPutname(){cout<<"ANIMAL";};

private:

string_type;

以上是“c++中如何使用static_cast轉換”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


名稱欄目:c++中如何使用static_cast轉換-創(chuàng)新互聯(lián)
轉載源于:http://weahome.cn/article/dpjhdc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部