2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、typedef聲明,簡稱typedef,為現(xiàn)有類型創(chuàng)建一個新的名字。比如人們常常使用typedef來編寫更美觀和可讀的代碼。所謂美觀,意指typedef能隱藏笨拙的語法構(gòu)造以及平臺相關(guān)的數(shù)據(jù)類型,從而增強(qiáng)可移植性和以及未來的可維護(hù)性。本文下面將竭盡全力來揭示本文下面將竭盡全力來揭示typedef強(qiáng)大功能以及如何避免一些常見的強(qiáng)大功能以及如何避免一些常見的陷阱。陷阱。1.定義易于記憶的類型名定義易于記憶的類型名typedef使用最多的地方

2、是創(chuàng)建易于記憶的類型名,用它來歸檔程序員的意圖。類型出現(xiàn)在所聲明的變量名字中,位于typedef關(guān)鍵字右邊。例如:typedefintsize此聲明定義了一個int的同義字,名字為size。注意注意typedef并不創(chuàng)建新的并不創(chuàng)建新的類型。類型。它僅僅為現(xiàn)有類型添加一個同義字。你可以在任何需要int的上下文中使用size:voidmeasure(sizepsz)sizearray[4]sizelen=file.getlength()s

3、td::vectvstypedef還可以掩飾符合類型,如指針和數(shù)組。例如,你不用象下面這樣重復(fù)定義有81個字符元素的數(shù)組:line[81]text[81]定義一個定義一個typedef,每當(dāng)要用到相同類型和大小的數(shù)組時,可以這樣:,每當(dāng)要用到相同類型和大小的數(shù)組時,可以這樣:typedefLine[81]Linetextsecondlinegetline(text)同樣,可以象下面這樣隱藏指針語法:typedefpstrintmystr

4、cmp(pstrpstr)這里將帶我們到達(dá)第一個typedef陷阱。標(biāo)準(zhǔn)函數(shù)strcmp()有兩個‘const類型的參數(shù)。因此,它可能會誤導(dǎo)人們象下面這樣聲明mystrcmp():intmystrcmp(constpstrconstpstr)存儲特性;它只是說在語句構(gòu)成上,typedef聲明看起來象static,extern等類型的變量聲明。下面將帶到第二個陷阱:typedefregisterintFAST_COUNTER錯誤編譯通不過

5、。問題出在你不能在聲明中有多個存儲類關(guān)鍵字。編譯通不過。問題出在你不能在聲明中有多個存儲類關(guān)鍵字。因?yàn)榉杢ypedef已經(jīng)占據(jù)了存儲類關(guān)鍵字的位置,在typedef聲明中不能用register(或任何其它存儲類關(guān)鍵字)。4.促進(jìn)跨平臺開發(fā)促進(jìn)跨平臺開發(fā)typedef有另外一個重要的用途,那就是定義機(jī)器無關(guān)的類型,例如,你可以定義一個叫REAL的浮點(diǎn)類型,在目標(biāo)機(jī)器上它可以i獲得最高的精度:typedeflongdoubleREAL在不

6、支持longdouble的機(jī)器上,該typedef看起來會是下面這樣:typedefdoubleREAL并且,在連double都不支持的機(jī)器上,該typedef看起來會是這樣:、typedeffloatREAL你不用對源代碼做任何修改,便可以在每一種平臺上編譯這個使用REAL類型的應(yīng)用程序。唯一要改的是typedef本身。在大多數(shù)情況下,甚至這個微小的變動完全都可以通過奇妙的條件編譯來自動實(shí)現(xiàn)。不是嗎標(biāo)準(zhǔn)庫廣泛地使用typedef來創(chuàng)建

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論