freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c畢業(yè)論文外文翻譯-資料下載頁

2025-05-12 19:20本頁面

【導(dǎo)讀】types.input.wchar_t(,)type.

  

【正文】 派生而來。 表 列出了 C++ 的 IO 類,而 圖 則闡明這些類型之間的繼承關(guān)系。繼承關(guān)系通??梢杂妙愃朴诩彝涞膱D解說明。最頂端的圓圈代表基類(或稱 “ 父類 ” ),基類和派生類(或稱 “ 子類 ” )之間用線段連接。因此, 圖 所示, istream 是 ifstream 和 istringstream 的基類,同時也是 iostream 的基類,而 iostream 則是 stringstream 和 fstream 的基類。 由于 ifstream 和 istringstream 類型繼承了 istream 類,因此已知這兩種類型的大量用法。我們曾經(jīng)編寫過的讀 istream 對象的程序也可用于讀文件(使用 ifstream 類型 )或者 string 對象(使用 istringstream 類型)。類似地,提供輸出功能的程序同樣可用 ofstream 或 ostringstream 取代 ostream 類型實現(xiàn)。除了 istream 和 ostream 類型之外, iostream 頭文件還定義了 iostream 類型。盡管我們的程序還沒用過這種類型,但事實上可以多了解一些關(guān)于 iostream 的用法。 iostream 類型由 istream 和 ostream 兩者派生而來。這意味著 iostream 對象共享了它的兩個父類的接口。也就是說,可使用 iostream 類型在同一個流上實現(xiàn)輸入和輸出操作。標(biāo)準(zhǔn)庫還定義了另外兩個繼承 iostream 的類型。這些類型可用于讀寫文件或 string 對象。 對 IO 類型使用繼承還有另外一個重要的含義:正如在 第十五章 可以看到的,如果 函數(shù)有基類類型的引用形參時,可以給函數(shù)傳遞其派生類型的對象。這就意味著:對 istreamamp。 進行操作的函數(shù),也可使用 ifstream 或者 istringstream 對象來調(diào)用。類似地,形參為 ostreamamp。 類型的函數(shù)也可用 ofstream 或者 ostringstream 對象調(diào)用。因為 IO 類型通過繼承關(guān)聯(lián),所以可以只編寫一個函數(shù),而將它應(yīng)用到三種類型的流上:控制臺、磁盤文件或者 字符串流( string streams) 。 國際字符的支持 迄今為止,所描述的流類( stream class)讀寫的是由 char 類型組成的流。此外,標(biāo)準(zhǔn)庫還定義了一組相關(guān)的類型,支持 wchar_t 類型。每個類都加上 “ w”前綴,以此與 char 類型的版本區(qū)分開來。于是, wostream、 wistream 和 wiostream 類型從控制窗口讀寫 wchar_t 數(shù)據(jù)。相應(yīng)的文件輸入輸出類是 wifstream、 wofstream 和 wfstream。而 wchar_t 版本的 string 輸入/輸出流則是 wistringstream、 wostringstream 和 wstringstream。標(biāo)準(zhǔn)庫還定義了從標(biāo)準(zhǔn)輸入輸出讀寫寬字符的對象。這些對象加上 “ w” 前綴,以此與 char 類型版本區(qū)分: wchar_t 類型的標(biāo)準(zhǔn)輸入對象是 wcin;標(biāo)準(zhǔn)輸出是 wcout;而標(biāo)準(zhǔn)錯誤則是 wcerr。 每一個 IO 頭文件都定義了 char 和 wchar_t 類型的類和標(biāo)準(zhǔn)輸入/輸出對象?;诹鞯? wchar_t 類型的類和對象在 iostream 中定義,寬字符文件流類型在 fstream 中定義,而寬字符 stringstream 則在 sstream 頭文件中定義。 IO 對象不可復(fù)制或賦值 出于某些原因,標(biāo)準(zhǔn)庫類型不允許做復(fù)制或賦值操作。其原因?qū)⒃诤竺?第三部分 和 第四部分 學(xué)習(xí)類和繼承時闡明。 這個要求有兩層特別重要的含義。正如在 第九章 看到的,只有支持復(fù)制的元素類型可以存儲在 vector 或其他容器類型里。由于流對象不能復(fù)制,因此不能存儲在 vector(或其他)容器中(即不存在存儲流對象的 vector 或其他容器)。 第二個含義是:形參或返回類型也不能為流類型。如果需要傳遞或返回 IO 對象,則必須傳遞或返回指向該對象的指針或引用 。 一般情況下,如果要傳遞 IO 對象以便對它進行讀寫,可用非 const 引用的方式傳遞這個流對象。對 IO 對象的讀寫會改變它的 狀態(tài),因此引用必須是非 const 的。 . Condition States 在展 開討論 fstream 和 sstream 頭文件中定義的類型之前,需要了解更多 IO 標(biāo)準(zhǔn)庫如何管理其緩沖區(qū)及其流狀態(tài)的相關(guān)內(nèi)容。謹(jǐn)記本節(jié)和下一節(jié)所介紹的內(nèi)容同樣適用于普通流、文件流以及 string 流。 實現(xiàn) IO 的繼承正是錯誤發(fā)生的根源。一些錯誤是可恢復(fù)的;一些錯誤則發(fā)生在系統(tǒng)底層,位于程序可修正的范圍之外。 IO 標(biāo)準(zhǔn)庫管理一系列 條件狀態(tài)( condition state) 成員,用來標(biāo)記給定的 IO 對象是否處于可用狀態(tài),或者碰到了哪種特定的錯誤。 表 列出了標(biāo)準(zhǔn)庫定義的一組函數(shù)和標(biāo)記,提供訪問和操縱流狀態(tài)的手段。 如果在標(biāo)準(zhǔn)輸入設(shè)備輸入 Borges,則 cin 在嘗試將輸入的字符串讀為 int 型數(shù)據(jù)失敗后,會生成一個錯誤狀態(tài)。類似地,如果輸入文件結(jié)束符( endoffile), cin 也會進入錯誤狀態(tài)。而如果輸入 1024,則成功讀取, cin 將處于正確的無錯誤狀態(tài)。 流必須處于無錯誤狀 態(tài),才能用于輸入或輸出。檢測流是否用的最簡單的方法是檢查其真值 。 if 語句直接檢查流的狀態(tài),而 while 語句則檢測條件表達式返回的流,從而間接地檢查了流的狀態(tài)。如果成功輸入,則條件檢測為 true。 條件狀態(tài) 許多程序只需知道是否有效。而某些程序則需要更詳細地訪問或控制流的狀態(tài),此時,除了知道流處于錯誤狀態(tài)外,還必須了解它遇到了哪種類型的錯誤。例如,程序員也許希望弄清是到達了文件的結(jié)尾,還是遇到了 IO 設(shè)備上的錯誤。 所有流對象都包含一個條件狀態(tài)成員,該成員由 setstate 和 clear 操作管理。這個狀態(tài)成員為 iostate 類型,這是由各個 iostream 類分別定義的機器相關(guān)的整型。該狀態(tài) 成員以二進制位( bit)的形式使用,類似于 第 節(jié)的例子中用于記錄測驗成績的 int_quiz1 變量。 每個 IO 類還定義了三個 iostate 類型的常量值,分別表示特定的位模式。這些常量值用于指出特定類型的 IO 條件,可與位操作符 ( 第 節(jié) )一起使用,以便在一次操作中檢查或設(shè)置多個標(biāo)志。 badbit 標(biāo)志著系統(tǒng)級的故障,如無法恢復(fù)的讀寫錯誤。如果出現(xiàn)了這類錯誤,則該流通常就不能再繼續(xù)使用了。如果出現(xiàn)的是可恢復(fù)的錯誤,如在希望獲得數(shù)值型數(shù)據(jù)時輸入了字符,此時則設(shè)置 failbit 標(biāo)志,這種導(dǎo)致設(shè)置 failbit 的問題通常是可以修正的。 eofbit 是在遇到文件結(jié)束符時設(shè)置的,此時同時還設(shè)置了 failbit。 流的狀態(tài)由 bad、 fail、 eof 和 good 操作提示。如果 bad、 fail 或者 eof 中的任意一個為 true,則檢查流本身將顯示該流處于錯誤狀態(tài)。類似地,如果這三個條件沒有一個為 true,則 good 操作將返回 true。 clear 和 setstate 操作用于改變條件成員的狀態(tài)。 clear 操作將條件重設(shè)為有效狀態(tài)。在流的使用出現(xiàn)了問 題并做出補救后,如果我們希望把流重設(shè)為有效狀態(tài),則可以調(diào)用 clear 操作。使用 setstate 操作可打開某個指定的條件,用于表示某個問題的發(fā)生。除了添加的標(biāo)記狀態(tài), setstate 將保留其他已存在的狀態(tài)變量不變。 條件狀態(tài)的訪問 rdstate 成員函數(shù)返回一個 iostate 類型值,該值對應(yīng)于流當(dāng)前的整個條件狀態(tài) 。 多種狀態(tài)的處理 常常會出現(xiàn)需要設(shè)置或清除多個狀態(tài)二進制位的情況。此時,可以通過多次調(diào)用 setstate 或者 clear 函數(shù)實現(xiàn)。另外一種方法則是使用按位或( OR)操作符( 第 節(jié) )在一次調(diào)用中生成 “ 傳遞兩個或更多狀態(tài)位 ” 的值。按位或操作使用其操作數(shù)的二進制位模式產(chǎn)生一個整型數(shù)值。對于結(jié)果中的每一個二進制位,如果其值為 1,則該操作的兩個操作數(shù)中至少有一個的對應(yīng)二進制位是 1。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1