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

經(jīng)驗(yàn)分享 C++編程技巧

開(kāi)發(fā) 后端
本文介紹的是C++的編程技巧,主要從七個(gè)方面給大家介紹的。希望對(duì)大家有幫助,一起來(lái)看。

C++語(yǔ)言是一個(gè)面向?qū)ο蟮恼Z(yǔ)言,使用C++編寫的代碼更加簡(jiǎn)捷、高效,更具可維護(hù)性和可重用性。但是很多人使用了C++語(yǔ)言后卻感到C++與C編程沒(méi)有什么區(qū)別。這其實(shí)是由于對(duì)C++語(yǔ)言的特點(diǎn)和特色理解和使用不夠造成的。事實(shí)上,沒(méi)有任何一個(gè)程序員使用C語(yǔ)言的編程效率可以超過(guò)C++語(yǔ)言的。

一、使用new和delete進(jìn)行動(dòng)態(tài)內(nèi)存分配和釋放

運(yùn)算符new和delete是C++新增的過(guò)算符,提供了存儲(chǔ)的動(dòng)態(tài)分配和釋放功能。它的作用相當(dāng)于C語(yǔ)言的函數(shù)malloc()和free(),但是性能更為優(yōu)越。使用new比使用malloc()有以下的幾個(gè)優(yōu)點(diǎn):

(1)、new自動(dòng)計(jì)算要分配類型的大小,不使用sizeof運(yùn)算符,比較省事,可以避免錯(cuò)誤。

(2)、它自動(dòng)地返回正確的指針類型,不用進(jìn)行強(qiáng)制指針類型轉(zhuǎn)換。

(3)、可以用new對(duì)分配的對(duì)象進(jìn)行初始化。

使用例子:

(1)

  1. int *p;  
  2. p=new int[10]; //分配一個(gè)含有10個(gè)整數(shù)的整形數(shù)組  
  3. delete[] p; //刪除這個(gè)數(shù)組 

 

(2)

  1. int *p;  
  2. p=new int (100);//動(dòng)態(tài)分配一個(gè)整數(shù)并初始化 

 

二、使用inline內(nèi)連函數(shù)替代宏調(diào)用

對(duì)于頻繁使用的函數(shù),C語(yǔ)言建議使用宏調(diào)用代替函數(shù)調(diào)用以加快代碼執(zhí)行,減少調(diào)用開(kāi)銷。但是宏調(diào)用有許多的弊端,可能引起不期望的副作用。例如宏:

#define abs(a) ((a)<0?(-a):(a)), 當(dāng)使用abs(I++)時(shí),這個(gè)宏就會(huì)出錯(cuò)。

所以在C++中應(yīng)該使用inline內(nèi)連函數(shù)替代宏調(diào)用,這樣即可達(dá)到宏調(diào)用的功能,又避免了宏調(diào)用的弊端。

使用內(nèi)連函數(shù)只需把inline要害字放在函數(shù)返回類型的前面。例如:

 

  1. inline int Add(int a,int b);//聲明Add()為內(nèi)連函數(shù) 

 

這樣編譯器在碰到Add()函數(shù)時(shí),不再進(jìn)行函數(shù)調(diào)用,而是直接嵌入函數(shù)代碼以加快程序的執(zhí)行。

三、使用函數(shù)重載

在C語(yǔ)言中,兩個(gè)函數(shù)的名稱不能相同,否則會(huì)導(dǎo)致編譯錯(cuò)誤。而在C++中,函數(shù)名相同而參數(shù)不同的兩個(gè)函數(shù)被解釋為重載。例如:

 

  1. void PutHz(char *str); //在當(dāng)前位置輸出漢字  
  2. void PutHz(int x,int y,char *str); //在x,y處輸出漢字 

 

使用函數(shù)重載可以幫助程序員應(yīng)付更多的復(fù)雜性,避免了使用諸如intabs()、fabs()、dabs()等繁雜的函數(shù)名稱;同時(shí)在大型程序中,使函數(shù)名易于治理和使用,而不必絞盡腦汁地去處理函數(shù)名。

四、使用引用(reference)代替指針進(jìn)行參數(shù)傳遞

在C語(yǔ)言中,假如一個(gè)函數(shù)需要修改用作參數(shù)的變量值的時(shí)候 ,參數(shù)應(yīng)該聲明為指針類型。例如:

 

  1. void Add(int *a) {(*a)++;} 

 

但是對(duì)于復(fù)雜的程序,使用指針輕易出錯(cuò),程序也難以讀懂。在C++中,對(duì)于上述情況 可以使用引用來(lái)代替指針,使程序更加清楚易懂。引用就是對(duì)變量取的一個(gè)別名,對(duì)引用進(jìn)行操作,就相當(dāng)于對(duì)原有變量進(jìn)行操作。,例如使用引用的函數(shù)定義為:

 

  1. void Add(int &a) (a++;); //a為一個(gè)整數(shù)的引用 

 

這個(gè)函數(shù)與使用指針的上一個(gè)函數(shù)的功能是一樣的,然而代碼卻更為簡(jiǎn)潔和清楚易懂。

五、使用缺省參數(shù)

在C++中函數(shù)可以使用缺省參數(shù),例如:

  1. void PutHzxy(char *str,int x=-1,int y=-1)  
  2. if (x==-1) x=wherex();  
  3. if (y==-1) y=wherey();  
  4. moveto(x,y)  
  5. PutHz(str);} 可以有兩種方式調(diào)用函數(shù)PutHzxy(),例如:  
  6. PutHzxy("C++語(yǔ)言");//使用缺省參數(shù),在當(dāng)前位置輸出  
  7. PutHzxy("C++語(yǔ)言",10,10); 

 

在沒(méi)有使用缺省參數(shù)通常的情況下,一個(gè)函數(shù)應(yīng)該盡可能地具有更大的靈活性,使用缺省參數(shù)為程序員處理更大的復(fù)雜性和靈活性提供了有效的方法。所以在C++的代碼中都大量的使用了缺省參數(shù)。

需要說(shuō)明的是,所有的缺省參數(shù)必須出現(xiàn)在不缺省參數(shù)的右邊。亦即,一旦開(kāi)始定義取缺省數(shù)值的參數(shù),就不可再說(shuō)明非缺省的參數(shù)。

例如:

  1. void PutHzxy(char *str,int x=-1,int y=-1); //正確  
  2. void PutHzxy(int x=-1,int y=-1,char *str);//錯(cuò)誤六、使用“類”對(duì)數(shù)據(jù)進(jìn)行封狀 

 

C語(yǔ)言是模塊化的程序語(yǔ)言,通過(guò)函數(shù)的使用和文件的單獨(dú)編譯實(shí)現(xiàn)了一定的數(shù)據(jù)封裝功能。但C++通過(guò)使用“類”的強(qiáng)大功能,在數(shù)據(jù)封裝、繼續(xù)等很多的方面比C做得更好。通過(guò)使用“類”把數(shù)據(jù)和對(duì)數(shù)據(jù)的所有操作集合封裝在一起,建立了一個(gè)定義良好的接口,使程序員在使用一個(gè)類的時(shí)候可以只關(guān)心它的使用,而不必關(guān)心它的實(shí)現(xiàn)。

由于函數(shù)也可一定程度上實(shí)現(xiàn)對(duì)數(shù)據(jù)的封裝,在編寫C++程序時(shí)何時(shí)使用函數(shù),何時(shí)使用類,對(duì)于C++的初學(xué)者難以把握。根據(jù)筆者的經(jīng)驗(yàn),對(duì)于函數(shù)和類的使用總結(jié)出以下的方法:

首先把程序需要完成的功能劃分為很多的基本子過(guò)程,一個(gè)子過(guò)程實(shí)現(xiàn)一種相對(duì)完整的功能。然后根據(jù)如下的規(guī)則進(jìn)行劃分:

(1)、假如有一些數(shù)據(jù)被兩個(gè)以上的子過(guò)程同時(shí)使用,應(yīng)該把這些數(shù)據(jù)和這些子過(guò)程使用“類”進(jìn)行封裝。

(2)、假如一些數(shù)據(jù)只被一個(gè)子過(guò)程使用,應(yīng)把這些數(shù)據(jù)和這個(gè)子過(guò)程合成一個(gè)函數(shù)。這些數(shù)據(jù)聲明為這個(gè)函數(shù)的內(nèi)部臨時(shí)數(shù)據(jù)。

(3)、假如一些數(shù)據(jù)被一個(gè)子過(guò)程在不同的時(shí)間里幾次使用,應(yīng)把這些數(shù)據(jù)和這個(gè)子過(guò)程合成一個(gè)函數(shù)。這些數(shù)據(jù)被定義為這個(gè)函數(shù)的內(nèi)部靜態(tài)數(shù)據(jù)。

(4)、假如一個(gè)子過(guò)程的功能在以后可能被修改或擴(kuò)展,應(yīng)該把這些過(guò)程及其使用的數(shù)合成一個(gè)類,以便以后使用繼續(xù)的方法對(duì)其功能進(jìn)行修改和擴(kuò)充。

(5)、當(dāng)(2)、(3)和(4)矛盾時(shí),以(4)為準(zhǔn)。

例如,對(duì)于在C++中使用鼠標(biāo)這一程序含有10多個(gè)子過(guò)程,諸如MouSEOpen(),MouseHide()等等。假如是調(diào)用DOS的33H中斷來(lái)實(shí)現(xiàn),因?yàn)樵诔绦蛑懈鱾€(gè)子過(guò)程之間沒(méi)有共同使用的數(shù)據(jù),所以應(yīng)該把每個(gè)子過(guò)程定義為函數(shù)。

又如,假如定義了一個(gè)表示圖形的數(shù)據(jù)結(jié)構(gòu),對(duì)于這個(gè)圖形要進(jìn)行放大、移動(dòng)、旋轉(zhuǎn)等子過(guò)程。因?yàn)檫@些子過(guò)程都要使用公共的圖形數(shù)據(jù),所以應(yīng)該把這些子過(guò)程和這些圖形數(shù)據(jù)定義為一個(gè)類。

七、使用模板和BIDS

在Borland C++ 3.1中還引入模板(template)的功能,通過(guò)模板Borland C++ 3.1實(shí)現(xiàn)了功能強(qiáng)大的BIDS(Borland International Data StrUCtures)。使用BIDS可以不需編程實(shí)現(xiàn)可以存儲(chǔ)任何數(shù)據(jù)類型的數(shù)組、鏈表、椎棧、隊(duì)列等數(shù)據(jù)結(jié)構(gòu)。下面的例子實(shí)現(xiàn)了一個(gè)存儲(chǔ)整形變量的堆棧:

  1. typedef BI_StackAsVector intstack;  
  2. main()  
  3. {instack is;//定義一個(gè)整形變量的堆棧  
  4. for(int I=0;I<10;I++)  
  5. is.push(I);//10個(gè)數(shù)壓棧  
  6. for(I=0;I<10;I++)  
  7. cout< }  

通過(guò)語(yǔ)句is.push(),is.pop()可以對(duì)堆棧進(jìn)行操作。對(duì)BIDS的使用可以參照《Borland c++ 3.0程序員指南》。

本文以Borland C++ 3.1為背景,但是適用于大多的C++編譯器。

希望通過(guò)本文介紹的這些C++的編程技巧,能夠給你帶來(lái)幫助。

責(zé)任編輯:于鐵 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-12 13:41:15

C++

2011-05-30 15:29:32

C++

2010-01-26 17:11:13

C++編程

2011-07-13 17:08:02

CC++

2011-07-13 16:48:55

CC++

2011-07-13 17:42:32

CC++

2010-02-01 11:13:00

C++ Traits

2010-01-11 10:28:51

C++編程

2011-07-10 15:26:54

C++

2010-02-06 13:47:08

C++標(biāo)準(zhǔn)擴(kuò)展

2010-02-04 14:58:06

C++內(nèi)存分配

2010-02-04 15:19:38

C++獲取CPU信息

2010-01-12 10:40:22

C++程序員

2010-02-01 17:09:07

C++鏈表操作

2010-02-05 13:44:06

C++ eof()函數(shù)

2011-07-15 17:35:19

JavaScript

2010-01-13 10:16:42

C++軟件

2010-01-12 15:24:48

C++語(yǔ)言

2010-02-06 16:16:01

C++冒泡排序

2010-02-05 18:04:21

C++剪切板
點(diǎn)贊
收藏

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

91免费欧美精品| 亚洲天堂av女优| 老司机激情视频| 天堂网在线观看视频| 亚洲欧美春色| 最新日韩中文字幕| 香蕉久久久久久av成人| 一根才成人网| 亚洲色图制服诱惑| 精品国产一区二区三区日日嗨| 国产suv精品一区二区33| 91欧美在线| 亚洲国产成人精品久久| 九热视频在线观看| 国产黄色大片在线观看| 久久精品在这里| 91在线短视频| 日韩精品在线一区二区三区| 欧美成人中文| 国产亚洲一级高清| 国产ts在线观看| 电影在线观看一区二区| 亚洲一区二区在线视频| 亚洲啪啪av| 五月天久久久久久| 国产精品一区二区在线观看网站| 奇米四色中文综合久久| 国产女人18水真多毛片18精品| 任你躁在线精品免费| 欧美日韩一区二区三区在线| 97超碰在线人人| 日本蜜桃在线观看| 国产午夜精品一区二区| 国产精品对白刺激久久久| 极品国产91在线网站| 午夜日韩激情| www国产精品视频| 亚洲久久久久久久| 欧美天堂影院| 精品国偷自产国产一区| 污污网站在线观看视频| 久久xxx视频| 色综合色狠狠综合色| 国内少妇毛片视频| 高清免费电影在线观看| 亚洲国产精品99久久久久久久久| 国产亚洲福利社区| www.亚洲欧美| 国产一区在线精品| 成人字幕网zmw| 国产精品一区二区黑人巨大| 日本在线不卡一区| 国产成人精品电影久久久| 日韩精品成人一区| 激情文学一区| 色综合久久悠悠| 欧美三级免费看| 欧美日韩国产探花| 欧美成人sm免费视频| 美国黄色片视频| 91麻豆精品国产91久久久平台| 中文国产成人精品久久一| 自拍偷拍视频亚洲| 精品国产精品久久一区免费式| 亚洲精品国产精品乱码不99按摩| 亚洲精品乱码久久久久久动漫| 麻豆成全视频免费观看在线看| 亚洲成人精品一区二区| 韩国无码av片在线观看网站| 夜级特黄日本大片_在线| 国产无遮挡一区二区三区毛片日本| 精品伦精品一区二区三区视频| 黄色片一区二区| 国产成人精品三级| 国产高清精品一区| 亚洲va欧美va| 99国产精品国产精品毛片| 国产一区二区精品在线| 天堂中文在线8| 99久久er热在这里只有精品66| 国产98在线|日韩| 丰满肉嫩西川结衣av| 成人av网址在线观看| 99精彩视频在线观看免费| 亚洲AV无码精品色毛片浪潮| 成人av资源站| 日本在线免费观看一区| 91免费在线| 中文字幕一区二区三区在线不卡| 亚洲一二区在线| 国产网站在线免费观看| 亚洲另类色综合网站| 久久久99精品视频| 理论片午夜视频在线观看| 日本韩国欧美一区二区三区| 天堂av在线网站| 成人午夜sm精品久久久久久久| 欧美天堂亚洲电影院在线播放| 奇米视频888| 视频二区欧美| 日韩国产中文字幕| 五月婷婷欧美激情| 亚洲一区二区三区| 亚洲 日韩 国产第一| 久久久久亚洲视频| 精品一区二区三区免费毛片爱| 亚洲aaa激情| 日本国产在线观看| 国产欧美一区在线| 第九区2中文字幕| 天堂在线中文网官网| 欧美一a一片一级一片| 无套内谢丰满少妇中文字幕| 国产精品1luya在线播放| 日韩一级成人av| 东京热av一区| 欧美日韩水蜜桃| 欧美大片第1页| 亚洲综合久久网| 另类欧美日韩国产在线| 国产精品久久一区二区三区| 欧美在线观看在线观看| 亚洲欧洲韩国日本视频| 欧美精品自拍视频| 欧美jizz18| 日韩精品在线观看视频| 国产精品av久久久久久无| 黄色一区二区三区四区| 国产精品三级网站| 性感美女视频一二三| 亚洲色欲色欲www在线观看| 黄色免费观看视频网站| 日本成人手机在线| 中国人与牲禽动交精品| 午夜毛片在线观看| 天天摸夜夜添狠狠添婷婷| 97精品一区| 97视频免费看| 国产精品伊人久久| 久久久精品tv| 老子影院午夜伦不卡大全| 日日av拍夜夜添久久免费| 精品国产乱码久久久久久久久| 懂色av蜜臀av粉嫩av永久| 国产亚洲一级| 粉嫩精品一区二区三区在线观看 | 色域天天综合网| 国产精品99久久久精品无码| 欧美在线电影| 日本精品一区二区三区在线| 少妇人妻精品一区二区三区| 国产精品国产三级国产a| 免费无码av片在线观看| 国产乱人伦精品一区| 欧美激情网站在线观看| www.久久成人| 一区二区三区精品视频在线| 欧美激情第四页| 99国产精品免费视频观看| 国产欧美日韩最新| 日本不卡不卡| 欧美乱妇15p| 18啪啪污污免费网站| 噜噜噜91成人网| 欧美日韩最好看的视频| 国产一二在线播放| 精品国产123| 色婷婷av国产精品| 波多野结衣91| 久久久亚洲精品无码| 国产精东传媒成人av电影| 欧美亚洲在线播放| 五十路在线视频| 偷拍亚洲欧洲综合| 免费人成又黄又爽又色| 首页亚洲欧美制服丝腿| 三区精品视频| 日韩美香港a一级毛片| 自拍偷拍亚洲一区| 国产精品视频久久久久久| 综合亚洲深深色噜噜狠狠网站| 四季av一区二区三区| **女人18毛片一区二区| 成人免费在线视频网站| www在线观看播放免费视频日本| 欧美另类变人与禽xxxxx| 久草视频手机在线| 国产一区二区三区香蕉| 久久久久久久久久久综合| 国产劲爆久久| 日本成人在线视频网址| h网站在线免费观看| 在线观看一区二区视频| 中文字幕资源站| 成人午夜精品在线| 欧美成人免费在线观看视频| 精品freesex老太交| 成人精品aaaa网站| 日本在线观看一区二区三区| 韩日视频在线| 欧美人与z0zoxxxx视频| 欧美日韩国产精品一区二区三区| 成人av在线一区二区三区| 久久婷婷国产精品| 亚欧美无遮挡hd高清在线视频| 国产精品专区第二| 好操啊在线观看免费视频| 欧美www视频| 国产伦精品一区二区三区视频网站| 国产片一区二区| 精产国品一区二区三区| 午夜一级久久| 自拍偷拍一区二区三区| 精品精品国产毛片在线看| 国产精品私拍pans大尺度在线| 国产精品实拍| 精品亚洲夜色av98在线观看| 国产乱淫片视频| 激情亚洲一区二区三区四区| 亚洲天堂最新地址| 豆国产96在线|亚洲| 亚洲三级视频网站| 91精品国产91久久久久久密臀| 久久五月天婷婷| 一区二区免费| 日韩av成人在线| 久久大胆人体| 亚洲视频国产视频| 欧美 日韩 人妻 高清 中文| 欧美日韩国产不卡| 91视频免费网址| 亚洲欧美日韩国产另类专区| 性高潮久久久久久久| 国产黑丝在线一区二区三区| 亚洲最大综合网| 国产视频一区三区| 免费看日b视频| 97视频热人人精品免费| 久久久久久草| 国内露脸中年夫妇交换精品| 亚洲最大的网站| 97成人资源| 91国内免费在线视频| 在线播放免费av| 精品国内产的精品视频在线观看| 国产亚洲依依| 日韩精品视频在线观看免费| 国产乱淫av免费| 欧美精品在欧美一区二区少妇| 日本精品入口免费视频| 狠狠躁夜夜躁久久躁别揉| 青草影院在线观看| 亚洲欧美综合在线精品| 久久久久久国产免费a片| 91首页免费视频| 中文字幕在线看高清电影| 99久久er热在这里只有精品15| 午夜性福利视频| 国产一区二区三区日韩| 亚洲va在线va天堂va偷拍| 日本特黄久久久高潮| 日韩免费毛片视频| 日本成人在线视频网站| 国内自拍视频网| 日本一不卡视频| 妓院一钑片免看黄大片| 日韩中文字幕亚洲一区二区va在线 | 亚洲天堂成人在线| 麻豆国产在线播放| 日韩电视剧在线观看免费网站| 无码国产精品96久久久久| 亚洲加勒比久久88色综合| 天天干天天舔天天射| 日韩www在线| 色视频在线观看| 亚洲人成电影网站色| 免费在线性爱视频| 亚洲电影在线观看| 桃花色综合影院| 亚洲免费伊人电影在线观看av| 欧美女v视频| 亚洲一二在线观看| 免费在线毛片网站| 欧美成人手机在线| 欧美激情网站| 国产成人一区二区| 欧洲精品久久久久毛片完整版| 亚洲va码欧洲m码| 草草视频在线一区二区| 精品中文字幕人| 久久精品高清| 91传媒免费视频| 亚洲国产精品第一区二区| 日本日本19xxxⅹhd乱影响| 欧美专区18| 亚洲欧美国产中文| 久久99精品久久久久久| 欧美日韩人妻精品一区在线| 久久亚洲欧美国产精品乐播| 国产精品无码无卡无需播放器| 中文字幕综合网| 日韩精品一区二区av| 欧美色爱综合网| 99热这里只有精品99| 日韩激情av在线播放| av电影在线观看网址| 欧美高清视频在线| 二区三区不卡| 91在线看www| 91精品国产自产在线丝袜啪| 日本精品一区二区三区不卡无字幕| 久久网站免费观看| av无码久久久久久不卡网站| 国产精品日韩久久久| 亚洲精品20p| 99在线热播精品免费| chinese全程对白| 精品日韩中文字幕| 一级片视频播放| 日韩精品久久久久久久玫瑰园| 大胆av不用播放器在线播放| 欧美激情视频网站| 校园春色亚洲色图| 国产精品.com| 日韩精品1区| 国内外成人免费激情视频| 国产揄拍国内精品对白| 亚欧洲乱码视频| 亚洲国产一区二区视频| 在线视频欧美亚洲| 亚洲激情在线观看视频免费| 黄色小网站在线观看| 国产成人精品999| 美女一区二区在线观看| 成人小视频在线观看免费| 毛片av中文字幕一区二区| 中文精品在线观看| 亚洲最大成人网4388xx| 亚洲一级黄色大片| 国产视频一区在线| 午夜欧美激情| 国产传媒一区二区| 欧美人成在线| 中文av字幕在线观看| 国产精品久久久久久久浪潮网站 | 97色在线观看| 午夜久久av| 一区不卡视频| 日韩高清不卡一区二区| 成人网站免费观看| 亚洲第一av色| 性一交一乱一透一a级| 在线视频一区二区| av免费在线一区| 品久久久久久久久久96高清| 成人免费视频入口| 国产目拍亚洲精品99久久精品| 国产精品男女视频| 亚洲福利视频网| 在线你懂的视频| 高清av免费一区中文字幕| 在线一区电影| 91aaa精品| 亚洲女人的天堂| 国产精品人人妻人人爽| 欧美片一区二区三区| 亚洲国产高清在线观看| 亚洲成色最大综合在线| 蜜臀久久99精品久久久久久9| 久久久久亚洲av成人无码电影| 欧美午夜视频网站| 亚洲图片88| 91夜夜揉人人捏人人添红杏| 综合av在线| 爱情岛论坛亚洲自拍| 亚洲一区二区四区蜜桃| 男人天堂av网| 97久久精品国产| 国产精品密蕾丝视频下载 | 中文字幕1234区| 亚洲人成在线观看一区二区| 国产高清免费在线观看| 久久91精品国产91久久跳| 精品久久ai| 国产二区视频在线播放| 久久久国产午夜精品| 一级成人免费视频| 久热精品视频在线观看| 一区视频网站| 韩国一区二区av| 国产精品久久久爽爽爽麻豆色哟哟| 国产又爽又黄又嫩又猛又粗| 日韩视频在线免费观看| 精品福利在线| 一区二区三区视频| 国产成人在线网站| 久久久精品免费看| 最好看的2019的中文字幕视频| 国产精品一区二区三区四区在线观看| 国产乱子伦精品无码专区|