Iostream檢視原始碼討論檢視歷史
Iostream |
Iostream是指iostream庫。iostream的意思是輸入輸出流,直接點說就是in(輸入) out(輸出) stream(流),取in、out的首字母與stream合成。
簡介
iostream 庫的基礎是兩種命名為 istream 和 ostream 的類型,分別表示輸入流和輸出流。流是指要從某種 IO 設備上讀出或寫入的字符序列。術語"流"試圖說明字符是隨着時間順序生成或消耗的。
標準庫定義了 4 個 IO 對象。處理輸入時使用命名為 cin(讀作 see-in)的 istream 類型對象。這個對象也稱為標準輸入。處理輸出時使用命名為 cout(讀作 see-out)的 ostream 類型對象,這個對象也稱為標準輸出。標準庫還定義了另外兩個 ostream 對象,分別命名為 cerr 和 clog(分別讀作"see-err"和"see-log")。cerr 對象又叫作標準錯誤,通常用來輸出警告和錯誤信息給程序的使用者。而 clog 對象用於產生程序執行的一般信息 。
評價
iostream(.h)庫的基礎是類模板的層級結構。類模板以一種與類型無關的方式,提供了這個庫的大部分功能。
基本類模板是一個類模板的集合,其中每個類模板有兩個參數:字符類型(charT)參數決定處理的元素類型,而特性參數 對每個特定的元素類型提供一些額外的特徵。
這個類層級結構中的類模板和它們的字符類型的實例相比,名字前面多了前綴basic_。例如,istream由之實例化而來的類模板名為basic_istream,fstream由之實例化而來的類模板名為basic_fstream,等等。唯一的例外是ios_base,因為它本身就是類型無關的,所以它並不基於任何類模板,而是一個正規類。
類模板實例 iostream(.h)庫中集成了兩組標準的整個iostream類模板層級結構的實例:一組是面向單字節的,處理char類型的元素;另一組是面向寬字節的,處理wchar_t類型的元素。
面向單字節(char型)的實例可能是iostream(.h)庫更為人所知的一部分。 ios、istream和ofstream等類都是面向單字節的。圖1是面向單字節的所有類的名稱和關係。面向寬字節(wchar_t型)的實例的命名規則與面向單字節的實例相同,但所有類和對象名稱前有前綴w,例如wios、wistream和wofstream。
標準對象 作為iostream(.h)庫的一部分,頭文件聲明了一些用來在標準輸入輸出設備上進行輸入輸出操作的對象。
這些對象分為兩組:面向單字節的,即常見的cin、cout、cerr和clog;其面向寬字節的對應物,聲明為wcin、wcout、wcerr和wclog。