注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C++新經(jīng)典:模板與泛型編程

C++新經(jīng)典:模板與泛型編程

C++新經(jīng)典:模板與泛型編程

定 價(jià):¥89.00

作 者: 王健偉
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787302584643 出版時(shí)間: 2022-03-01 包裝: 平裝-膠訂
開本: 16開 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書是一部詳細(xì)講解C 模板與泛型編程知識(shí)的書,針對(duì)的是希望系統(tǒng)學(xué)習(xí)C 模板與泛型編程、元編程相關(guān)開發(fā)知識(shí)的中高級(jí)C 開發(fā)者,所講解的知識(shí)具備一定的難度,書籍包含紙質(zhì)圖書以及教學(xué)源代碼文件。編寫初衷是幫助讀者解決各種模板與泛型編程中的語(yǔ)法問題,以免在閱讀他人所寫的泛型編程代碼(如C 標(biāo)準(zhǔn)庫(kù)代碼、Boost庫(kù)代碼)時(shí)磕磕絆絆甚至進(jìn)行不下去。此外,書中也會(huì)對(duì)一些比較有商業(yè)價(jià)值的源碼進(jìn)行適當(dāng)?shù)姆治龊椭v解,以進(jìn)一步提高讀者的實(shí)戰(zhàn)能力,更好的讓讀者利用模板與泛型編程技術(shù)編寫可復(fù)用的高質(zhì)量代碼以及供第三方開發(fā)者使用的接口庫(kù)。 書籍有如下比較明顯的特點(diǎn):①注重細(xì)節(jié),注重基礎(chǔ);②講解難度適宜,范例由淺入深;③內(nèi)容比較全面;④支持C 11/14/17新標(biāo)準(zhǔn)。 全書共分7章:第1章搭建C 編程環(huán)境,第2~3章講述模板開發(fā)的基礎(chǔ)和進(jìn)階知識(shí),第4章介紹C 標(biāo)準(zhǔn)庫(kù)中常用的各種模板,第5~6章詳細(xì)通過(guò)眾多范例展示萃取技術(shù)、策略技術(shù)以及元編程,第7章動(dòng)手編寫STL中的list容器和對(duì)應(yīng)的迭代器實(shí)現(xiàn)源碼以期望讀者對(duì)list容器的實(shí)現(xiàn)細(xì)節(jié)有清晰掌握并觸類旁通。

作者簡(jiǎn)介

  王健偉: 男,1976年9月生,網(wǎng)名狂想(KuangXiang),1995年畢業(yè)于哈爾濱工程大學(xué)計(jì)算機(jī)及應(yīng)用專業(yè),擁有20多年軟件開發(fā)經(jīng)驗(yàn),參與開發(fā)過(guò)數(shù)十個(gè)實(shí)際項(xiàng)目,涉及網(wǎng)絡(luò)通信、網(wǎng)絡(luò)安全、網(wǎng)絡(luò)游戲等領(lǐng)域,具備極其深厚的軟件開發(fā)實(shí)戰(zhàn)經(jīng)驗(yàn)。曾參與創(chuàng)辦深圳知名網(wǎng)絡(luò)安全公司安絡(luò)科技有限公司,是中國(guó)首套網(wǎng)絡(luò)安全在線掃描評(píng)估系統(tǒng)項(xiàng)目負(fù)責(zé)人、全球同服獨(dú)立游戲《冒險(xiǎn)之路》制作人。

圖書目錄

第1章 C 編程環(huán)境介紹 
1.1 C 編程環(huán)境搭建說(shuō)明
1.2 創(chuàng)建基本的能運(yùn)行的C 程序 
1.3 Visual Studio中程序的調(diào)試方法
1.3.1 普通的斷點(diǎn)調(diào)試(跟蹤調(diào)試)
1.3.2 學(xué)會(huì)調(diào)試時(shí)查看內(nèi)存中的內(nèi)容
1.3.3  “快速監(jiān)視”對(duì)話框
1.3.4 查看“反匯編”窗口
1.4 開啟Visual Studio 2019對(duì)C 標(biāo)準(zhǔn)的編譯支持
第2章 模板基礎(chǔ)知識(shí)
2.1 函數(shù)模板
2.1.1 基本范例
2.1.2 實(shí)例化
2.1.3 模板參數(shù)的推斷
2.1.4 重載
2.1.5 特化
2.1.6 默認(rèn)參數(shù)
2.1.7 非類型模板參數(shù)
2.2 類模板、變量模板與別名模板
2.2.1 類模板的基本范例和模板參數(shù)的推斷
2.2.2 類模板的特化
2.2.3 默認(rèn)參數(shù)
2.2.4 類型別名
2.2.5 非類型模板參數(shù)
2.2.6 成員函數(shù)模板
2.2.7 類/類模板中的類模板(類模板的嵌套)
2.2.8 變量模板與成員變量模板
2.2.9 別名模板與成員別名模板
2.2.10 模板模板參數(shù)
2.2.11 共用體模板(聯(lián)合模板)
2.3 類模板中的友元
2.3.1 友元類
2.3.2 友元函數(shù)
2.4 可變參模板
2.4.1 可變參函數(shù)模板
2.4.2 折疊表達(dá)式
2.4.3 可變參表達(dá)式
2.4.4 可變參類模板
2.5 多態(tài)在模板中的應(yīng)用
2.6 模板的特殊繼承關(guān)系
2.6.1 奇異(奇特)的遞歸模板模式
2.6.2 混入
2.7 模板代碼的組織結(jié)構(gòu)與模板的顯式實(shí)例化和聲明
2.7.1 模板代碼的組織結(jié)構(gòu)
2.7.2 模板的顯式實(shí)例化、模板聲明、代碼組織結(jié)構(gòu)
第3章 模板進(jìn)階知識(shí)
3.1 引用
3.1.1 類型區(qū)別的基本含義
3.1.2 基本認(rèn)識(shí)
3.1.3 引用資格的剝奪與辨認(rèn)
3.2 類型推斷
3.2.1 如何查看類型推斷結(jié)果
3.2.2 理解函數(shù)模板類型推斷
3.2.3 auto類型常規(guī)推斷
3.3 完美轉(zhuǎn)發(fā)
3.3.1 完美轉(zhuǎn)發(fā)的概念和步驟演繹
3.3.2 std::forward
3.3.3 普通參數(shù)的完美轉(zhuǎn)發(fā)
3.3.4 在構(gòu)造函數(shù)模板中使用完美轉(zhuǎn)發(fā)范例
3.3.5 在可變參數(shù)模板中使用完美轉(zhuǎn)發(fā)范例
3.3.6 完美轉(zhuǎn)發(fā)失敗的情形一例
3.4 std::enable_if的使用
3.4.1 一個(gè)簡(jiǎn)單范例
3.4.2 替換失敗并不是一個(gè)錯(cuò)誤(SFINAE)
3.4.3 enable_if
3.5 類模板中可變參的逐步展開
3.5.1 myclasst繼承
3.5.2 myclasst...繼承
3.5.3 myclasst...繼承
3.5.4 myclasst...繼承
第4章 標(biāo)準(zhǔn)庫(kù)的典型內(nèi)容
4.1 std::declval
4.1.1 基本概念和常規(guī)范例
4.1.2 std::declval返回右值引用類型的原因
4.1.3 推導(dǎo)函數(shù)返回值范例
4.2 std::true_type和std::false_type
4.3 std::void_t
4.3.1 源碼分析和常規(guī)范例
4.3.2 編譯器如何選擇泛化版本和特化版本
4.3.3 借助void_t和declval實(shí)現(xiàn)is_copy_assignable
4.3.4 綜合范例
4.4 std::conditional
4.5 std::function的實(shí)現(xiàn)
4.5.1 標(biāo)準(zhǔn)庫(kù)中的std::function
4.5.2 實(shí)現(xiàn)類似std::function的功能
4.6 std::remove_all_extents
4.7 std::integer_sequence
4.7.1 正向排列數(shù)字生成一個(gè)類型Integer_Sequence
4.7.2 逆向排列數(shù)字生成一個(gè)類型Integer_Sequence_Reverse
4.7.3 將一個(gè)數(shù)字重復(fù)多次生成一個(gè)類型Repeat_Integer
4.8 std::is_union、std::is_class和std::integral_constant
4.8.1 std::is_union
4.8.2 std::is_class
4.8.3 std::integral_constant
第5章 萃取技術(shù)與策略技術(shù)
5.1 萃取技術(shù)及固定萃取演示
5.1.1 一個(gè)常規(guī)范例
5.1.2 迭代器范例
5.1.3 通過(guò)容器(數(shù)組)類型萃取元素類型范例
5.1.4 引用類型的移除和增加
5.1.5 const修飾符的移除
5.1.6 退化技術(shù)
5.2 萃取技術(shù)中的值萃取演示
5.2.1 一個(gè)常規(guī)范例
5.2.2 判斷是否為void類型的范例
5.2.3 判斷兩個(gè)類型是否相同
5.3 使用SFINAE特性的信息萃取
5.3.1 用成員函數(shù)重載實(shí)現(xiàn)is_default_constructible
5.3.2 用成員函數(shù)重載實(shí)現(xiàn)is_convertible
5.3.3 用成員函數(shù)重載實(shí)現(xiàn)is_class
5.3.4 用成員函數(shù)重載實(shí)現(xiàn)is_base_of
5.3.5 用類模板特化實(shí)現(xiàn)is_default_constructible
5.4 將trait類模板用作模板參數(shù)
5.5 策略技術(shù)中的算法策略
5.5.1 常規(guī)范例:普通策略類
5.5.2 常規(guī)范例:策略類模板
5.5.3 萃取技術(shù)與策略技術(shù)的比較
第6章 元編程
6.1 術(shù)語(yǔ)、元函數(shù)
6.1.1 術(shù)語(yǔ)
6.1.2 元函數(shù)
6.2 混合元編程
6.2.1 常規(guī)的計(jì)算點(diǎn)積范例
6.2.2 混合元編程計(jì)算點(diǎn)積
6.3 typelist實(shí)現(xiàn)(類型計(jì)算范例)
6.3.1 設(shè)計(jì)和基本操作接口(算法)
6.3.2 擴(kuò)展操作接口(算法)
6.3.3 typelist的老式設(shè)計(jì)與typelist的思考
6.4 tuple實(shí)現(xiàn)
6.4.1 重要基礎(chǔ)知識(shí)回顧
6.4.2 元組基本概念、基礎(chǔ)代碼的設(shè)計(jì)和實(shí)現(xiàn)
6.4.3 操作接口(算法)
第7章 標(biāo)準(zhǔn)模板庫(kù)代碼
7.1 list容器的簡(jiǎn)單實(shí)現(xiàn)
7.1.1 基礎(chǔ)代碼
7.1.2 插入新元素前的準(zhǔn)備
7.1.3 插入新元素
7.1.4 釋放容器中元素所占用的內(nèi)存
7.2 迭代器設(shè)計(jì)中的分類目的
7.2.1 迭代器的分類
7.2.2 迭代器分類目的詳述
7.3 一個(gè)典型算法—find_if的簡(jiǎn)單實(shí)現(xiàn)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)