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

一文搞懂C++中的四種強制類型轉(zhuǎn)換

 更新時間:2021年07月07日 11:22:37   作者:杜Xinyu  
很多朋友向小編了解C語言中怎么進行強制類型轉(zhuǎn)換呢?在這小編告訴大家強制類型轉(zhuǎn)換可以分為兩種,一種是隱式類型轉(zhuǎn)換一種是顯示類型轉(zhuǎn)換,下面通過示例代碼給大家介紹下,需要的朋友參考下吧

在了解c++的強制類形轉(zhuǎn)換的時候,先看看在c語言中是怎么進行強制類形轉(zhuǎn)換的。

C語言中的強制類形轉(zhuǎn)換分為兩種

  •  隱式類型轉(zhuǎn)換
  • 顯示類型轉(zhuǎn)換
int main()
{
	int a = 97;
	char ch = a;	// 隱式類型轉(zhuǎn)換
	int b = (int)ch;	// 顯示類型轉(zhuǎn)換 

	cout << "a = " << a << endl;
	cout << "ch = " << ch << endl;
	cout << "b = " << b << endl;

	int num = 10;
	int* p = &num;
	// int ret = p; Error,因為p的類型和ret的類型不一致,所以隱式轉(zhuǎn)換失敗
	int ret = (int)p;

	cout << "num = " << num << endl;
	cout << "&num = " << &num << endl;
	cout << "p = " << p << endl;
	cout << "ret = " << ret << endl;

	return 0;
}

我們看出來,在相關(guān)數(shù)據(jù)類型之間的轉(zhuǎn)換是可以隱式轉(zhuǎn)換的,如果是倆個不相關(guān)的數(shù)據(jù)類型之間的轉(zhuǎn)換,必須是顯式類型轉(zhuǎn)換。

C++中的強制類形轉(zhuǎn)換

C++中有四種強制類型轉(zhuǎn)換

  1. static_cast
  2. reinterpret_cast
  3. const_cast
  4. dynamic_cast

static_cast靜態(tài)轉(zhuǎn)換,任何標準轉(zhuǎn)換都可以用它,但是不能用于兩個不相關(guān)的類型轉(zhuǎn)換,其實就是有點像隱式類型轉(zhuǎn)換了。

int main()
{
	int i = 97;
	char ch = static_cast<char>(i);

	cout << "i = " << i << endl;
	cout << "ch = " << ch << endl;

	return 0;
}

reinterpret_cast

reinterpret_cast:將一種類型轉(zhuǎn)換為另外一種類型,但是如果是相關(guān)類型則不可以轉(zhuǎn)換,會報錯,無效類型轉(zhuǎn)換。

int main()
{
	int i = 97;
	// char ch = reinterpret_cast<char>(i); // Error 這樣的轉(zhuǎn)換類型屬于無效轉(zhuǎn)換類型
	int* p = reinterpret_cast<int*>(i);

	cout << "i = " << i << endl;
	cout << "&i = " << &i << endl;
	cout << "p = " << p << endl;

	return 0;
}

在這里插入圖片描述

這個的輸出結(jié)果就很意思,我們可以觀察到,p 是我們定義的一個 int* 變量,但是我們使用reintrtpret_cast的時候并不是把 i 變量的地址寫了進去,而是將 i 變量的值,用 int* 類型的格式存儲了起來,也就是說 int* p 的 p 存放的不是 i 的地址,而是,變量 i 的值,只不過是用16進制來存儲的。

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

相關(guān)文章

  • linux使用gcc編譯c語言共享庫步驟

    linux使用gcc編譯c語言共享庫步驟

    這篇文章主要介紹了在linux中使用gcc編譯c語言共享庫的步驟,大家參考使用吧
    2014-01-01
  • opencv實現(xiàn)顏色檢測

    opencv實現(xiàn)顏色檢測

    這篇文章主要為大家詳細介紹了opencv實現(xiàn)顏色檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • DEVC++實現(xiàn)推箱子小游戲

    DEVC++實現(xiàn)推箱子小游戲

    這篇文章主要為大家詳細介紹了DEVC++實現(xiàn)推箱子小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • Qt實現(xiàn)解壓帶有密碼的加密文件

    Qt實現(xiàn)解壓帶有密碼的加密文件

    Quazip是Qt平臺下面的一個壓縮解壓縮庫。本文將利用Quazip實現(xiàn)解壓帶有密碼的加密文件,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-02-02
  • C語言用easyx實現(xiàn)消磚塊游戲

    C語言用easyx實現(xiàn)消磚塊游戲

    這篇文章主要為大家詳細介紹了C語言消磚塊游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 深入理解C語言中指針常量和常量指針

    深入理解C語言中指針常量和常量指針

    本文介紹了C語言中的指針常量和常量指針,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 將字符串str1復制為字符串str2的三種解決方法

    將字符串str1復制為字符串str2的三種解決方法

    以下是對將字符串str1復制為字符串str2的三種解決方法進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-10-10
  • C++實現(xiàn)SLR文法分析法

    C++實現(xiàn)SLR文法分析法

    大家好,本篇文章主要講的是C++實現(xiàn)SLR文法分析法,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • C++中發(fā)聲函數(shù)Beep用法

    C++中發(fā)聲函數(shù)Beep用法

    本文給大家分享的是Beep函數(shù)的用法以及會使揚聲器發(fā)出簡單的聲音的示例,有需要的小伙伴可以參考下
    2017-05-05
  • 順序線性表的代碼實現(xiàn)方法

    順序線性表的代碼實現(xiàn)方法

    下面小編就為大家?guī)硪黄樞蚓€性表的代碼實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

义马市| 津市市| 遵义市| 开化县| 台前县| 和平县| 丹江口市| 读书| 内丘县| 富民县| 祥云县| 文登市| 松江区| 靖远县| 志丹县| 梁山县| 托里县| 海口市| 卢湾区| 江孜县| 缙云县| 清原| 潼关县| 宝丰县| 乌恰县| 江油市| 土默特右旗| 贵南县| 肇庆市| 葵青区| 周口市| 永胜县| 星子县| 夹江县| 边坝县| 上杭县| 兰考县| 华容县| 青铜峡市| 营口市| 毕节市|