精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C++ void使用規(guī)則總結(jié)概覽

開發(fā) 后端
我們?cè)谶@篇文章中為大家總結(jié)的C++ void使用規(guī)則總共有五個(gè)。在接下來的內(nèi)容中我們將會(huì)對(duì)這五個(gè)規(guī)則進(jìn)行詳細(xì)介紹。

我們?cè)谏弦黄恼轮性?jīng)為大家詳細(xì)介紹了有關(guān)C++ void的一些基本概念。想必朋友們應(yīng)該可以從中對(duì)這知識(shí)點(diǎn)有一個(gè)充分的掌握。在這里我們將會(huì)進(jìn)一步對(duì)這方面知識(shí)進(jìn)行介紹,關(guān)于C++ void使用規(guī)則的詳細(xì)介紹。

C++ void使用規(guī)則一 如果函數(shù)沒有返回值,那么應(yīng)聲明為void類型

在C語言中,凡不加返回值類型限定的函數(shù),就會(huì)被編譯器作為返回整型值處理。但是許多程序員卻誤以為其為void類型。例如:

 

  1. add ( int a, int b )  
  2. {  
  3. return a + b;  
  4. }  
  5. int main(int argc, char* argv[])  
  6. {  
  7. printf ( "2 + 3 = %d", add ( 2, 3) );  

 

程序運(yùn)行的結(jié)果為輸出:

  1. 2 + 3 = 5 

這說明不加返回值說明的函數(shù)的確為int函數(shù)。#t#

C++語言有很嚴(yán)格的類型安全檢查,不允許上述情況(指函數(shù)不加類型聲明)發(fā)生。可是編譯器并不一定這么認(rèn)定,譬如在Visual C++6.0中上述add函數(shù)的編譯無錯(cuò)也無警告且運(yùn)行正確,所以不能寄希望于編譯器會(huì)做嚴(yán)格的類型檢查。

因此,為了避免混亂,我們?cè)诰帉慍/C++程序時(shí),對(duì)于任何函數(shù)都必須一個(gè)不漏地指定其類型。如果函數(shù)沒有返回值,一定要聲明為void類型。這既是程序良好可讀性的需要,也是編程規(guī)范性的要求。另外,加上void類型聲明后,也可以發(fā)揮代碼的“自注釋”作用。代碼的“自注釋”即代碼能自己注釋自己。

C++ void使用規(guī)則二 如果函數(shù)無參數(shù),那么應(yīng)聲明其參數(shù)為void

在C++語言中聲明一個(gè)這樣的函數(shù):

 

  1. int function(void)  
  2. {  
  3. return 1;  

 

則進(jìn)行下面的調(diào)用是不合法的:

 

  1. function(2); 

因?yàn)樵贑++中,函數(shù)參數(shù)為void的意思是這個(gè)函數(shù)不接受任何參數(shù)。

我們?cè)赥urbo C 2.0中編譯:

 

  1. #include "stdio.h"  
  2. fun()  
  3. {  
  4. return 1;  
  5. }  
  6. main()  
  7. {  
  8. printf("%d",fun(2));  
  9. getchar();  

 

編譯正確且輸出1,這說明,在C語言中,可以給無參數(shù)的函數(shù)傳送任意類型的參數(shù),但是在C++編譯器中編譯同樣的代碼則會(huì)出錯(cuò)。在C++中,不能向無參數(shù)的函數(shù)傳送任何參數(shù),出錯(cuò)提示“'fun' : function does not take 1 parameters”。

所以,無論在C還是C++中,若函數(shù)不接受任何參數(shù),一定要指明參數(shù)為void。

C++ void使用規(guī)則三 小心使用void指針類型

按照ANSI(American National Standards Institute)標(biāo)準(zhǔn),不能對(duì)void指針進(jìn)行算法操作,即下列操作都是不合法的:

 

  1. void * pvoid;  
  2. pvoid++; //ANSI:錯(cuò)誤  
  3. pvoid += 1; //ANSI:錯(cuò)誤  
  4. //ANSI標(biāo)準(zhǔn)之所以這樣認(rèn)定,是因?yàn)樗鼒?jiān)持:
    進(jìn)行算法操作的指針必須是確定知道其指向數(shù)據(jù)類型大小的。  
  5. //例如:  
  6. int *pint;  
  7. pint++; //ANSI:正確 

 

pint++的結(jié)果是使其增大sizeof(int)。

但是大名鼎鼎的GNU(GNU's Not Unix的縮寫)則不這么認(rèn)定,它指定void *的算法操作與char *一致。

因此下列語句在GNU編譯器中皆正確:

 

  1. pvoid++; //GNU:正確  
  2. pvoid += 1; //GNU:正確 

 

pvoid++的執(zhí)行結(jié)果是其增大了1。

在實(shí)際的程序設(shè)計(jì)中,為迎合ANSI標(biāo)準(zhǔn),并提高程序的可移植性,我們可以這樣編寫實(shí)現(xiàn)同樣功能的代碼:

 

  1. void * pvoid;  
  2. (char *)pvoid++; //ANSI:正確;GNU:正確  
  3. (char *)pvoid += 1; //ANSI:錯(cuò)誤;GNU:正確 

 

GNU和ANSI還有一些區(qū)別,總體而言,GNU較ANSI更“開放”,提供了對(duì)更多語法的支持。但是我們?cè)谡鎸?shí)設(shè)計(jì)時(shí),還是應(yīng)該盡可能地迎合ANSI標(biāo)準(zhǔn)。

C++ void使用規(guī)則四 如果函數(shù)的參數(shù)可以是任意類型指針,那么應(yīng)聲明其參數(shù)為void *

典型的如內(nèi)存操作函數(shù)memcpy和memset的函數(shù)原型分別為:

 

  1. void * memcpy(void *dest, const void *src, size_t len);  
  2. void * memset ( void * buffer, int c, size_t num ); 

這樣,任何類型的指針都可以傳入memcpy和memset中,這也真實(shí)地體現(xiàn)了內(nèi)存操作函數(shù)的意義,因?yàn)樗僮鞯膶?duì)象僅僅是一片內(nèi)存,而不論這片內(nèi)存是什么類型。如果memcpy和memset的參數(shù)類型不是void *,而是char *,那才叫真的奇怪了!這樣的memcpy和memset明顯不是一個(gè)“純粹的,脫離低級(jí)趣味的”函數(shù)! 下面的代碼執(zhí)行正確:

 

  1. //示例:memset接受任意類型指針  
  2. int intarray[100];  
  3. memset ( intarray, 0, 100*sizeof(int) ); //將intarray清0  
  4. //示例:memcpy接受任意類型指針  
  5. int intarray1[100], intarray2[100];  
  6. memcpy ( intarray1, intarray2, 100*sizeof(int) ); 
    //將intarray2拷貝給intarray1 

 

有趣的是,memcpy和memset函數(shù)返回的也是void *類型,標(biāo)準(zhǔn)庫函數(shù)的編寫者是多么地富有學(xué)問啊!

C++ void使用規(guī)則五 void不能代表一個(gè)真實(shí)的變量

下面代碼都企圖讓void代表一個(gè)真實(shí)的變量,因此都是錯(cuò)誤的代碼:

 

  1. void a; //錯(cuò)誤  
  2. function(void a); //錯(cuò)誤 

 

void體現(xiàn)了一種抽象,這個(gè)世界上的變量都是“有類型”的,譬如一個(gè)人不是男人就是女人(還有人妖?)。

void的出現(xiàn)只是為了一種抽象的需要,如果你正確地理解了面向?qū)ο笾?ldquo;抽象基類”的概念,也很容易理解void數(shù)據(jù)類型。正如不能給抽象基類定義一個(gè)實(shí)例,我們也不能定義一個(gè)void(讓我們類比的稱void為“抽象數(shù)據(jù)類型”)變量。

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

2010-02-06 09:53:26

C++ void

2010-02-06 14:48:37

C++頭文件

2010-02-05 16:18:41

C++流式文件操作

2010-02-04 16:58:29

C++類庫

2010-02-02 09:32:32

C++ typedef

2010-02-02 14:06:50

C++ const變量

2010-02-01 10:15:07

C++ TinyXML

2025-05-27 10:15:00

void*函數(shù)開發(fā)

2010-01-20 10:19:55

C++數(shù)組

2010-01-25 10:54:18

C++設(shè)計(jì)

2010-01-25 17:55:38

C++頭文件

2009-12-29 13:43:26

WPF URI

2010-01-26 17:05:37

Android缺點(diǎn)

2010-01-22 16:35:41

C++開發(fā)

2010-01-25 11:21:01

C++語法

2010-01-26 17:11:13

C++編程

2009-12-14 10:03:57

Ruby慣用法

2009-12-24 13:46:03

WPF控件

2010-01-21 15:07:31

C++開發(fā)

2010-01-25 14:31:07

C++類
點(diǎn)贊
收藏

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

国产精品无码一区| 在线观看亚洲免费视频| 91高清在线观看视频| 国产精品亚洲一区二区三区在线 | 亚洲尤物影院| 日韩中文字幕在线精品| 欧美污在线观看| 亚洲天堂免费电影| 亚洲欧美综合网| 精品国产免费一区二区三区| 亚洲熟妇无码久久精品| 亚洲美女视频在线免费观看| 国产亚洲精品久久久久久777| 亚洲天堂av一区二区| 国产精品25p| 国产精品福利一区二区三区| 久久国产精品久久| 国产免费叼嘿网站免费| 久久婷婷亚洲| 欧美肥臀大乳一区二区免费视频| 亚洲性猛交xxxx乱大交| 欧美黄视频在线观看| 欧美午夜精品久久久久久浪潮| 宅男av一区二区三区| 欧美天堂在线视频| 国产一区二三区好的| 国产www精品| 日本在线视频免费| 亚洲国产日韩欧美在线| 亚洲最新av在线网站| 人妻换人妻a片爽麻豆| 青青在线精品| 91黄色免费版| 免费看的黄色大片| 丝袜中文在线| 亚洲欧美日韩精品久久久久| 精品久久久久久中文字幕动漫| 国产精品人妻一区二区三区| 日韩福利电影在线观看| 欧美一级片在线播放| 国产一级片免费看| 中文字幕av亚洲精品一部二部| 一个色综合导航| 尤物视频最新网址| 婷婷精品在线| 亚洲经典中文字幕| 中文字幕无码人妻少妇免费| 99ri日韩精品视频| 日韩一区二区高清| 四虎1515hh.com| 国产精品久久久久久久久久辛辛 | 久久久人成影片一区二区三区| 91视频最新网址| 久久国产亚洲精品| 最新国产精品亚洲| 手机av在线不卡| 欧美aaaaaaaaaaaa| 俺去啦;欧美日韩| 男女全黄做爰文章| 色婷婷综合网| 久久视频精品在线| 亚洲成人生活片| 欧美日韩国产综合网| 久久久久久久久91| 日本在线视频免费| 久久国产精品久久w女人spa| 日韩免费中文字幕| 欧美性受xxx黑人xyx性爽| 日本不卡免费在线视频| 国产精品视频1区| 91theporn国产在线观看| 国内精品国产成人| 波多野结衣成人在线| 成人爽a毛片一区二区| 99热精品一区二区| 日本公妇乱淫免费视频一区三区| 国产高清一区在线观看| 国产精品国产三级国产普通话99| 9999在线观看| 国内老司机av在线| 狠狠躁夜夜躁人人躁婷婷91| 一区二区三区国产免费| 精品国产乱码一区二区三区| 精品美女一区二区| mm131美女视频| 久久精品青草| 456亚洲影院| 国产又粗又黄视频| 本田岬高潮一区二区三区| 欧洲精品久久| 成人看片免费| 五月天网站亚洲| 亚洲福利精品视频| 国产精品igao视频网网址不卡日韩| 亚洲成av人乱码色午夜| 成人性生交大片免费看无遮挡aⅴ| 91一区二区| 午夜精品一区二区三区在线视| 无码一区二区三区在线观看| 久久精品理论片| 精品1区2区| 免费不卡视频| 欧美丝袜一区二区三区| 久久久久久综合网| 希岛爱理av免费一区二区| 免费99精品国产自在在线| 国语对白永久免费| 国产不卡免费视频| 亚洲一区二区三区在线观看视频| 高潮在线视频| 91麻豆精品国产自产在线观看一区 | 国产午夜一区二区| 麻豆91精品91久久久| 日日夜夜精品视频天天综合网| 91观看网站| 成年人免费在线视频| 午夜精品aaa| 久久久久久综合网| 欧美丝袜丝交足nylons172| 97国产一区二区精品久久呦| 在线免费一级片| 2023国产精品| 精品少妇在线视频| 精品一区二区三区中文字幕视频 | 老司机午夜精品视频| 国产精品二区三区| 麻豆免费在线观看| 在线视频你懂得一区| 香港三级日本三级| 国产精品vip| 91视频免费网站| av在线电影观看| 色婷婷久久久久swag精品| 亚洲美女高潮久久久| 亚洲成人二区| 91精品美女在线| 3p在线观看| 欧美亚洲动漫精品| 一区二区伦理片| 香蕉成人久久| 久久婷婷国产综合尤物精品| www.超碰在线| 日韩精品中文字幕有码专区| 国产精品变态另类虐交| 成人黄色av电影| 免费看欧美一级片| 99国产精品久久一区二区三区| 久久6免费高清热精品| 国产手机av在线| 亚洲另类在线制服丝袜| 日韩精品你懂的| 欧美一级精品| 国产精自产拍久久久久久| 9色在线视频| 欧美日韩国产一区二区三区地区| a级黄色免费视频| 另类的小说在线视频另类成人小视频在线 | 久久久久观看| 8x拔播拔播x8国产精品| 人成在线免费视频| 色就色 综合激情| 精品人妻中文无码av在线| 捆绑紧缚一区二区三区视频| 中文字幕第一页亚洲| 精品久久久久久久久久岛国gif| 理论片在线不卡免费观看| 国内老熟妇对白xxxxhd| 亚洲成人综合视频| 五月婷婷综合在线观看| 日韩成人精品在线观看| 亚洲资源视频| 亚洲一区 二区| 91国产美女视频| 国产精品久久久久久久龚玥菲| 欧美日韩精品欧美日韩精品一| 日本在线一级片| 成人爱爱电影网址| 久久综合久久色| 亚洲色图网站| 国产一级特黄a大片99| 欧美18—19sex性hd| 日韩中文在线不卡| 懂色av成人一区二区三区| 日韩欧美国产中文字幕| 永久免费观看片现看| 国产成人精品免费视频网站| 欧美网站免费观看| 欧美高清在线| 韩国成人一区| 久久国产三级| 97视频免费在线看| lutube成人福利在线观看| 日韩欧美国产综合| 无码人妻久久一区二区三区不卡| 1000精品久久久久久久久| 亚洲自拍偷拍精品| 精品亚洲成a人在线观看| 人体内射精一区二区三区| 精品国产a一区二区三区v免费| 91亚洲精品一区| 亚洲午夜天堂| 九九精品视频在线观看| 精品99又大又爽又硬少妇毛片| 欧美一区二区三区成人| 波多野结衣不卡| 亚洲一区二区美女| 久久精品在线观看视频| 2024国产精品视频| 亚洲丝袜在线观看| 欧美a级一区二区| 久草热视频在线观看| 香蕉久久网站| 日韩中文字幕av在线| 精品国产午夜肉伦伦影院| 成人网在线观看| 国模一区二区| 4438全国成人免费| 欧美xxx黑人xxx水蜜桃| 最新国产精品拍自在线播放| 黄色视屏网站在线免费观看| 亚洲福利视频在线| 99热这里只有精| 欧美少妇性性性| 亚洲精品男人的天堂| 午夜视频在线观看一区二区| 欧美丰满熟妇bbbbbb| 国产精品乱人伦一区二区| 中文字幕丰满孑伦无码专区| www.99精品| 美国黄色一级视频| 国产乱子伦视频一区二区三区 | 尤物九九久久国产精品的特点 | 久久久国产一区二区| av色图一区| 国产一区二区三区久久精品| 日本福利片高清在线观看| 亚洲激情在线观看| 天天操天天操天天干| 亚洲丁香婷深爱综合| 午夜精品久久久久久久99老熟妇| 欧美一三区三区四区免费在线看 | 丝袜老师在线| 911国产网站尤物在线观看| av资源在线| 精品88久久久久88久久久 | 欧美另类videos| 亚洲优女在线| 午夜精品久久久久久久男人的天堂 | 欧洲精品在线视频| 免费成人在线电影| 91成人在线视频| 在线观看爽视频| 日韩av免费在线看| 色婷婷综合久久久中字幕精品久久| 欧美一级淫片aaaaaaa视频| 天堂а√在线最新版中文在线| 欧美有码在线视频| 欧美国产日韩电影| 成人av资源在线播放| 精品国产三级| 国产伦精品一区二区三区免费视频| 北条麻妃在线一区二区免费播放| 国产91精品入口17c| 牛牛视频精品一区二区不卡| 久久综合九色99| 欧美视频免费| 国产91在线亚洲| 日韩视频一区| 国产精品无码一本二本三本色| 美女mm1313爽爽久久久蜜臀| 激情久久综合网| av影院午夜一区| 日本性高潮视频| 中文字幕一区二区三中文字幕| 顶臀精品视频www| 亚洲成在人线免费| 亚洲 小说区 图片区| 欧美一区二区三区视频免费播放 | 在线看片第一页欧美| 黄色网在线免费看| 午夜精品三级视频福利| 久久亚洲精品爱爱| 999国产在线| 亚洲制服一区| 女同性恋一区二区| 国产农村妇女毛片精品久久莱园子 | 亚洲欧洲美洲av| 成人在线精品视频| 久久悠悠精品综合网| 影音先锋欧美在线| 亚洲精选久久| 成人不卡免费视频| 91老师国产黑色丝袜在线| 亚洲一级生活片| 日韩欧美中文在线| www黄色网址| 一区二区三区www| 波多野结依一区| 国产色视频一区| 亚洲小说图片| 国产91沈先生在线播放| 男人操女人的视频在线观看欧美 | 国产精品天天看| 动漫精品一区一码二码三码四码| 在线观看视频一区二区欧美日韩| 蜜桃视频污在线观看| xvideos亚洲| 美女日韩欧美| 国产精品.com| 色综合咪咪久久网| 无码无遮挡又大又爽又黄的视频| 高清国产一区二区三区| 三级影片在线观看| 一本到一区二区三区| 日本免费不卡视频| 欧美xxxx做受欧美| 日本一区二区中文字幕| 欧美日韩一区二区三| 激情综合自拍| 国产男女无遮挡猛进猛出| 国产精品私人影院| 无码人妻丰满熟妇区五十路| 日韩精品久久久久久福利| 欧美男男video| 91精品国产一区二区三区动漫 | 久久成人免费视频| 欧美jizz18| 亚洲mv在线看| 石原莉奈一区二区三区在线观看 | 欧美亚洲色图校园春色| 成人免费观看在线| 国产精品资源在线看| 永久免费看片直接| 欧美日韩国产大片| 伊人免费在线| 国产美女被下药99| 日韩精品免费| 好男人www社区| 国产女人18水真多18精品一级做| 亚洲图片在线视频| 亚洲人成在线免费观看| 美脚恋feet久草欧美| 国产一区二区久久久| 日韩香蕉视频| 欧美做受喷浆在线观看| 狠狠色香婷婷久久亚洲精品| 涩爱av在线播放一区二区| 欧美性一区二区三区| 国产乱码精品一区二区亚洲 | 国产性猛交xxxx免费看久久| 欧美成人ⅴideosxxxxx| 日韩高清国产精品| 日韩avvvv在线播放| 国产欧美小视频| 777久久久精品| 青青在线视频| 精品国产乱码久久久久久久软件| 国产精品丝袜xxxxxxx| 久久久久亚洲av成人无码电影| 色成年激情久久综合| 1769视频在线播放免费观看| 国产一区二区在线播放| 中文字幕人成人乱码| 国产吃瓜黑料一区二区| 亚洲成av人片| 九九热视频在线观看| 国产欧美 在线欧美| 中文字幕午夜精品一区二区三区 | 你懂的在线观看一区二区| 中文字幕无码不卡免费视频| 国产精品污网站| 亚洲成人777777| 日韩美女写真福利在线观看| 99re66热这里只有精品8| 女人扒开腿免费视频app| 精品欧美aⅴ在线网站| 999在线视频| 国产高清在线一区| 视频在线观看91| 欧美成人精品欧美一级私黄| 亚洲精品美女久久久久| 美女网站视频一区| 妺妺窝人体色www看人体| 99re成人精品视频| 伊人网综合在线| 久久久久久久爱| 色综合天天爱| 久久久午夜精品福利内容| 欧美最新大片在线看| 久久免费电影| 亚洲国产成人不卡| 国产成人亚洲精品青草天美| 中文字幕一区在线播放| 久久国产精品影视| 亚洲免费毛片| wwwxxx色| 欧美精品日韩精品| 欧美男男tv网站在线播放| 色撸撸在线观看| 久久久久久麻豆|