成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++顯式轉(zhuǎn)換中幾種不同的轉(zhuǎn)換方式

開(kāi)發(fā) 后端
C++顯式轉(zhuǎn)換總共有四種轉(zhuǎn)換方式,我們?cè)谶@篇文章中將會(huì)為大家詳細(xì)介紹一下這四個(gè)轉(zhuǎn)換方式,并對(duì)這一轉(zhuǎn)換進(jìn)行充分的了解。

我們?cè)谏弦黄恼轮袨榇蠹以敿?xì)介紹了C++隱式轉(zhuǎn)換發(fā)生的四種情況,相信大家應(yīng)該會(huì)對(duì)這一數(shù)據(jù)類型轉(zhuǎn)換方式有一個(gè)詳細(xì)的了解啦。那么在這里,將會(huì)為大家詳細(xì)介紹其中的另一種轉(zhuǎn)換方式,C++顯式轉(zhuǎn)換的基本內(nèi)容。#t#

C++顯式轉(zhuǎn)換包含四種轉(zhuǎn)換

static_cast : 編譯期的轉(zhuǎn)化,不能轉(zhuǎn)換掉exdivssion的const、volitale、或者_(dá)_unaligned屬性

*所有內(nèi)建類型對(duì)象之間的隱式轉(zhuǎn)換都可用static_cast.

*把空指針轉(zhuǎn)換成目標(biāo)類型的空指針用static_cast。

*把任何類型的表達(dá)式轉(zhuǎn)換成void類型用static_cast。

*類層次間的上行轉(zhuǎn)換和下行轉(zhuǎn)換也可以用static_cast,但下行轉(zhuǎn)換即當(dāng)把基類指針或引用轉(zhuǎn)換成子類表示時(shí),由于沒(méi)有動(dòng)態(tài)類型檢查,所以是不安全的.反之是安全的.

dynamic_cast : 運(yùn)行期的轉(zhuǎn)換,類層次間的上行轉(zhuǎn)換和下行轉(zhuǎn)換

* dynamic_cast具有類型檢查的功能,下行轉(zhuǎn)換的效果跟static_cast是一樣的,但下行轉(zhuǎn)換比static_cast更安全。

* dynamic_cast還支持交叉轉(zhuǎn)換,兩個(gè)類如果有共同的祖先,他們的指針就可以用dynamic_cast.

const_cast : 編譯期的轉(zhuǎn)化,類型中的常量

reinterpret_cast : 任何指針都可以轉(zhuǎn)換成其它類型的指針,可用于如char* 到 int*,或者One_class* 到 Unrelated_class* 等的轉(zhuǎn)換,因此可能是不安全的。

C++內(nèi)建類型指針之間不含有隱式轉(zhuǎn)換(void * 除外),需要C++顯式轉(zhuǎn)換。

 

  1. int ival = 0;  
  2. char* pc = NULL;  
  3. int* pi = NULL;  
  4. void* pv = NULL;  
  5. const char* pcc = "Hello world";  
  6. const int* pci = &ival;  
  7. const void* pcv = NULL;  
  8. pc = pi; //錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  9. pc = reinterpret_cast<char*>(pi); 
    //必須使用reinterpret_cast 在位模式層次的顯式轉(zhuǎn)換  
  10. pc = pv; //錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  11. pc = static_cast<char*>(pv); //static_cast顯式轉(zhuǎn)換  
  12. pc = pcc; //錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  13. pc = const_cast<char*>(pcc); //const_cast顯式轉(zhuǎn)換  
  14. pc = pcv; //錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  15. pc = static_cast<char*>(const_cast<void*>(pcv)); 
    //先const_cast 后 static_cast.  
  16. pv = pc; // OK; 隱式轉(zhuǎn)換到void*  
  17. pv = pi; // OK; 隱式轉(zhuǎn)換到void*  
  18. pv = pcc; //錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  19. pv = const_cast<char*>(pcc); 
    //OK, const_cast顯式轉(zhuǎn)換,并且char* 隱式轉(zhuǎn)換到void*  
  20. pv = pcv;//錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  21. pv = const_cast<void*>pcv;//OK, const_cast顯式轉(zhuǎn)換.  
  22. pcpcc = pc; // OK; 隱式轉(zhuǎn)換到const char*  
  23. pcc = pi; // 錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  24. pcc = reinterpret_cast<char*>(pi); 
    //必須使用reinterpret_cast 在位模式層次的顯式轉(zhuǎn)換.  
  25. pcc = pv; // 錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  26. pcc = static_cast<char*>(pv); //static_cast顯式轉(zhuǎn)換  
  27. pcc = pci;// 錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  28. pcc = reinterpret_cast<char*>pci; 
    //必須使用reinterpret_cast 在位模式層次的顯式轉(zhuǎn)換.  
  29. pcc = pcv;//錯(cuò)誤,沒(méi)有標(biāo)準(zhǔn)的隱式轉(zhuǎn)換.  
  30. pcc = static_cast<const char*>(pcv); //static_cast顯式轉(zhuǎn)換.  
  31. pcv = pv; // OK; 隱式轉(zhuǎn)換到const void*  
  32. pcpcv = pc; // OK; 隱式轉(zhuǎn)換到const void*  
  33. pcv = pi; // OK; 隱式轉(zhuǎn)換到const void*  
  34. pcv = pcc;// OK; 隱式轉(zhuǎn)換到const void* 

 

以上就是對(duì)C++顯式轉(zhuǎn)換的一些基本介紹。

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-02-06 14:12:54

C++繼承方式

2023-08-14 08:35:36

2023-09-22 09:04:00

C++編程

2010-02-04 16:47:04

C++隱式轉(zhuǎn)換

2010-02-03 15:27:26

C++ static

2020-12-30 07:55:37

C++轉(zhuǎn)換類型

2021-03-11 14:46:05

C++類型轉(zhuǎn)換語(yǔ)言

2011-07-14 10:39:08

強(qiáng)制類型轉(zhuǎn)換函數(shù)C++

2009-07-30 15:57:30

C#時(shí)間

2010-01-22 15:53:55

C++轉(zhuǎn)換

2024-04-15 12:54:40

2010-02-04 14:29:45

C++ typenam

2009-08-12 16:26:27

C#數(shù)據(jù)類型轉(zhuǎn)換

2016-12-20 16:35:52

NodeJSC++類型轉(zhuǎn)換

2024-05-21 14:04:16

2016-12-07 11:23:52

NodeJSC++

2010-02-04 16:39:26

C++析構(gòu)函數(shù)

2010-02-04 15:41:10

C++內(nèi)存管理

2024-03-12 08:29:28

C++類型轉(zhuǎn)換方式

2024-04-01 11:30:57

C#拷貝
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美在线亚洲 | 91精品亚洲 | 在线免费激情视频 | 日韩欧美三级在线 | 久久色视频 | 国产福利观看 | 91亚洲国产成人久久精品网站 | 国产二区在线播放 | 中文字幕一区二区三区日韩精品 | 免费的网站www| 伊人超碰在线 | 99资源 | 99视频网站| 国产精品视频yy9299一区 | 亚洲一区二区高清 | 99热这里都是精品 | 免费a网| 久久伦理中文字幕 | 福利社午夜影院 | 久久成人免费 | 亚洲第一在线 | 国产成人免费视频网站视频社区 | 国产精品久久久久久久免费观看 | 亚洲人成人一区二区在线观看 | 亚洲一区国产 | 在线播放中文 | 中文字幕影院 | 精品久久久久久久久久久 | 黄色一级电影免费观看 | 一区在线视频 | 日韩手机在线看片 | 日本久久网 | 男人天堂视频在线观看 | 欧美中文字幕一区二区三区亚洲 | 久草网在线视频 | 亚洲一区二区在线播放 | 91在线看片| 在线视频中文字幕 | 精品欧美一区二区精品久久 | 国产91久久精品一区二区 | 中日韩av|