最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++四種類(lèi)型轉(zhuǎn)換全解

 更新時(shí)間:2026年06月04日 09:26:59   作者:折戟不必沉沙  
C++的四種命名式類(lèi)型轉(zhuǎn)換操作符是:static_cast、dynamic_cast、const_cast 和 reinterpret_cast,??本文介紹C++四種類(lèi)型轉(zhuǎn)換是什么,感興趣的朋友一起看看吧

C++ 中的四種類(lèi)型轉(zhuǎn)換是 C++ 引入的更安全、更明確的類(lèi)型轉(zhuǎn)換操作符,相比 C 風(fēng)格的強(qiáng)制轉(zhuǎn)換更加精細(xì)和可控:

  1. static_cast? - 靜態(tài)類(lèi)型轉(zhuǎn)換
    最常用的轉(zhuǎn)換,用于良性轉(zhuǎn)換
int i = 10;
double d = static_cast<double>(i);  // 基本類(lèi)型轉(zhuǎn)換
class Base {};
class Derived : public Base {};
Base* b = new Derived();
Derived* d = static_cast<Derived*>(b);  // 向下轉(zhuǎn)換(不安全,不檢查)
int* p = nullptr;
void* vp = static_cast<void*>(p);  // void* 轉(zhuǎn)換
  1. dynamic_cast? - 動(dòng)態(tài)類(lèi)型轉(zhuǎn)換
    用于多態(tài)類(lèi)型的向下轉(zhuǎn)換,運(yùn)行時(shí)檢查類(lèi)型安全
class Base { virtual void foo() {} };
class Derived : public Base {};
Base* b = new Derived();
// 安全的向下轉(zhuǎn)換
Derived* d = dynamic_cast<Derived*>(b);
if (d != nullptr) {  // 轉(zhuǎn)換成功
    // 使用 d
}
// 轉(zhuǎn)換失敗返回 nullptr(對(duì)指針)或拋出異常(對(duì)引用)
  1. const_cast? - 常量性轉(zhuǎn)換
    添加或移除 const、volatile 屬性
const int ci = 10;
int* pi = const_cast<int*>(&ci);  // 移除 const
*pi = 20;  // 未定義行為,ci 原本是 const
void print(char* str) { /* 修改 str */ }
const char* s = "hello";
print(const_cast<char*>(s));  // 臨時(shí)移除 const
  1. reinterpret_cast? - 重新解釋轉(zhuǎn)換
    低級(jí)別的重新解釋?zhuān)钗kU(xiǎn)的轉(zhuǎn)換
int* p = new int(65);
char* c = reinterpret_cast<char*>(p);  // 重新解釋指針類(lèi)型
int i = 0x12345678;
float f = reinterpret_cast<float&>(i);  // 二進(jìn)制重新解釋
// 函數(shù)指針轉(zhuǎn)換
typedef void (*FuncPtr)();
FuncPtr func = reinterpret_cast<FuncPtr>(0x12345678);

到此這篇關(guān)于C++四種類(lèi)型轉(zhuǎn)換全解的文章就介紹到這了,更多相關(guān)C++四種類(lèi)型轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)關(guān)機(jī)小程序

    C語(yǔ)言實(shí)現(xiàn)關(guān)機(jī)小程序

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)關(guān)機(jī)小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語(yǔ)言實(shí)現(xiàn)三子棋小游戲全程詳解

    C語(yǔ)言實(shí)現(xiàn)三子棋小游戲全程詳解

    完成一個(gè)三子棋的代碼并不是很難,有困難且重要的是完成這個(gè)游戲代碼所具備的思想,因?yàn)樗枷肷系倪M(jìn)步才是真正的進(jìn)步,當(dāng)我們有了這個(gè)思想上的武器,寫(xiě)出別的代碼,難度就不會(huì)高
    2022-05-05
  • C語(yǔ)言字符串函數(shù)介紹與模擬實(shí)現(xiàn)詳解

    C語(yǔ)言字符串函數(shù)介紹與模擬實(shí)現(xiàn)詳解

    字符串函數(shù)(String?processing?function)也叫字符串處理函數(shù),指的是編程語(yǔ)言中用來(lái)進(jìn)行字符串處理的函數(shù),如C,pascal,Visual以及LotusScript中進(jìn)行字符串拷貝,計(jì)算長(zhǎng)度,字符查找等的函數(shù)
    2022-02-02
  • C/C++中的mem函數(shù)和strcopy函數(shù)的區(qū)別和應(yīng)用

    C/C++中的mem函數(shù)和strcopy函數(shù)的區(qū)別和應(yīng)用

    strcpy和memcpy都是標(biāo)準(zhǔn)C庫(kù)函數(shù),strcpy提供了字符串的復(fù)制而memcpy提供了一般內(nèi)存的復(fù)制。下面通過(guò)本文重點(diǎn)給大家介紹C/C++中的mem函數(shù)和strcopy函數(shù)的區(qū)別和應(yīng)用,非常不錯(cuò),感興趣的朋友一起看下吧
    2016-08-08
  • 一文掌握 C++ 智能指針的使用方法

    一文掌握 C++ 智能指針的使用方法

    C++11 引入了智能指針的概念,使用了引用計(jì)數(shù)的想法,讓程序員不再需要關(guān)心手動(dòng)釋放內(nèi)存。關(guān)于C++指針得內(nèi)容下面文章將為大家做一個(gè)詳細(xì)介紹
    2021-09-09
  • C++ 基數(shù)排序的實(shí)現(xiàn)實(shí)例代碼

    C++ 基數(shù)排序的實(shí)現(xiàn)實(shí)例代碼

    這篇文章主要介紹了C++ 基數(shù)排序的實(shí)現(xiàn)實(shí)例代碼的相關(guān)資料,這里附有實(shí)例代碼,幫助大家學(xué)習(xí)理解,需要的朋友可以參考下
    2016-11-11
  • 詳解C語(yǔ)言中的#define宏定義命令用法

    詳解C語(yǔ)言中的#define宏定義命令用法

    有的時(shí)候?yàn)榱顺绦虻耐ㄓ眯?可以使用#define預(yù)處理宏定義命令,它的具體作用就是方便程序段的定義和修改,下面就來(lái)詳解C語(yǔ)言中的#define宏定義命令用法.
    2016-05-05
  • C++的內(nèi)存管理詳細(xì)解釋

    C++的內(nèi)存管理詳細(xì)解釋

    這篇文章主要介紹了C/C++中的內(nèi)存管理小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • C語(yǔ)言詳解數(shù)據(jù)結(jié)構(gòu)與算法中枚舉和模擬及排序

    C語(yǔ)言詳解數(shù)據(jù)結(jié)構(gòu)與算法中枚舉和模擬及排序

    枚舉和模擬其實(shí)是沒(méi)什么算法可言的,大多數(shù)都是按照題目意思去寫(xiě),這里提供快排和歸并的兩個(gè)模板,感興趣的朋友來(lái)看看吧
    2022-04-04
  • 淺析C語(yǔ)言中對(duì)于char*和char[]的理解

    淺析C語(yǔ)言中對(duì)于char*和char[]的理解

    char * s 只是一個(gè)保存字符串首地址的指針變量,char a[]是許多連續(xù)的內(nèi)存單元,單元中的元素是char型,char * 和 char a[]具有相同的效果,源于字符串的本質(zhì),這篇文章主要介紹了C語(yǔ)言中對(duì)于char*和char[]的理解,需要的朋友可以參考下
    2023-02-02

最新評(píng)論

铅山县| 大关县| 正镶白旗| 宁安市| 唐海县| 上饶县| 青海省| 长兴县| 安康市| 建德市| 安阳市| 枣阳市| 长泰县| 平江县| 余庆县| 榆中县| 洱源县| 个旧市| 丹寨县| 丹巴县| 巫溪县| 博客| 百色市| 都匀市| 高淳县| 探索| 新昌县| 克拉玛依市| 库尔勒市| 阳东县| 通河县| 隆子县| 灵宝市| 库伦旗| 平武县| 长子县| 颍上县| 济阳县| 永福县| 黄平县| 普安县|