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

正文內(nèi)容

清華大學(xué)c課件第11章-資料下載頁(yè)

2024-10-18 17:14本頁(yè)面
  

【正文】 ifstream in(“”)。// 創(chuàng)建文件寬輸入流,打開文件 (loc)。 //為 in設(shè)置編碼方案 wstring line。 //用來存儲(chǔ)一行內(nèi)容 unsigned number = 0。 //記錄行號(hào) while (getline(in, line)) { number++。 //行號(hào)加 1 if ((L39。人 39。) != wstring::npos) wcout number L“: ” line endl。 } return 0。 } 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 對(duì)象的串行化 ? 串行化:將對(duì)象寫入文件,使得在適當(dāng)?shù)臅r(shí)候?qū)ο竽軓奈募凶x出并恢復(fù) ? 直接用 write將對(duì)象內(nèi)容輸出、用 read將對(duì)象恢復(fù)的問題 – 對(duì)象中存在指針時(shí),指針?biāo)笇?duì)象內(nèi)容不會(huì)被保存; – 對(duì)象的成員本身可能是存在指針的對(duì)象; – 對(duì)象不僅是數(shù)據(jù)的集合,還包括一系列行為,用 read只能恢復(fù)數(shù)據(jù),不能觸發(fā)相應(yīng)行為 36 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 串行化的基本方法 ? 手工串行化的基本方法 – 手工編寫 save和 load函數(shù) – 按照相同的順序保存 /恢復(fù)數(shù)據(jù)成員 – 碰到指針時(shí),首先保存指針是否為空的標(biāo)志,如非空,將指針對(duì)象的內(nèi)容保存, load做相反操作 ? 完全手工編寫串行化函數(shù)的困境 – save和 load對(duì)成員的操作順序完全相同,存在邏輯上的重復(fù) – 處理指針等操作過于繁瑣 37 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 boost::serialization ? 用 Serialization庫(kù)將下列結(jié)構(gòu)體串行化: struct SalaryInfo { string name。 double salary。 TaxInfo *tax。 }。 ? 只需增加一個(gè)成員函數(shù)模板(需要 TaxInfo也實(shí)現(xiàn)了同樣的成員函數(shù)模板): template class Archive void SalaryInfo::serialize(Archive amp。 ar, unsigned int version) { ar amp。 name amp。 salary amp。 tax。 } 38 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 理解 Serialization ? serialize函數(shù) – serialize是模板,串行化和恢復(fù)都通過這一段源代碼 –“ amp。”被 Serialization重載了,能夠處理各種基本數(shù)據(jù)類型、標(biāo)準(zhǔn)庫(kù)類型 –“ amp。”碰到指針時(shí),如果指針的目的類型也有 serialize成員函數(shù),則用該函數(shù)將指針內(nèi)容串行化 /恢復(fù) 39 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 Serialization的文檔類 ? 文檔類 – 用于實(shí)際執(zhí)行串行化操作 ? 支持 5種串行化格式 – 普通文本: text_oachive/text_iachive – 寬文本: text_woachive/text_wiachive – 普通字符 XML: xml_oachive/xml_iachive – 寬字符 XML: xml_woachive/xml_wiachive – 二進(jìn)制: binary_oachive/binary_iachive 40 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 文檔類的使用 ? 保存對(duì)象:用“ ” ofstream ofs(, ios_base::out)。 text_oarchive oa(ofs)。 oa s1。 ? 讀取對(duì)象:用“ ” ifstream ifs(, ios_base::in)。 text_iarchive ia(ifs)。 SalaryInfo s2。 ia s2。 41 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 Serialization的其它功能 ? Serialization的其它功能 –可以進(jìn)行版本控制 –全面支持對(duì) STL容器的串行化 –允許將 serialize分開定義為兩個(gè)不同的模板( save和 load) –進(jìn)行“對(duì)象追蹤”,如有兩個(gè)指針指向同一對(duì)象,它能保證這個(gè)對(duì)象只被串行化一次,而且恢復(fù)時(shí)也只生成一個(gè)對(duì)象 42 深度探索 C++語(yǔ)言程序設(shè)計(jì) 清華大學(xué) 鄭莉 43 小結(jié)與復(fù)習(xí)建議 ? 主要內(nèi)容 – I/O流的概念、輸出流、輸入流、輸入 /輸出流。 ? 達(dá)到的目標(biāo) –理解 I/O流的概念,學(xué)會(huì)使用 I/O流類庫(kù)實(shí)現(xiàn)文件輸入 /輸出及格式控制。 ? 實(shí)驗(yàn)任務(wù) –實(shí)驗(yàn)十一
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1