中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網(wǎng) 請 | 注冊

包郵 C++ TEMPLATES(第2版)(英文版)

出版社:人民郵電出版社出版時間:2018-05-01
開本: 16開 頁數(shù): 788
中 圖 價:¥123.2(7.8折) 定價  ¥158.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

C++ TEMPLATES(第2版)(英文版) 版權(quán)信息

C++ TEMPLATES(第2版)(英文版) 本書特色

本書是同名經(jīng)典暢銷圖書的全新升級版本,針對C 11、C 14、C 17標(biāo)準(zhǔn)進(jìn)行了全面更新,并對所有的新語言特性(包括可變參數(shù)模板、通用lambda、類模板參數(shù)推導(dǎo)等)進(jìn)行了解釋。 全書共28章。首先全面介紹了本書的內(nèi)容結(jié)構(gòu)和相關(guān)情況。第1部分(第1~11章)介紹了模板的基本概念,第2部分(第12~17章)深入闡述了模板的細(xì)節(jié),第3部分(第18~28章)介紹了C 模板所支持的基本設(shè)計技術(shù)。附錄A、附錄B、附錄C、附錄D和附錄E分別為一處定義原則、值類別、重載解析、標(biāo)準(zhǔn)類型實(shí)用程序和概念的相關(guān)資料。 本書適合對C 模板技術(shù)感興趣的有一定經(jīng)驗(yàn)的程序員閱讀。

C++ TEMPLATES(第2版)(英文版) 內(nèi)容簡介

本書是同名經(jīng)典暢銷圖書的全新升級版本,針對C++11、C++14、C++17標(biāo)準(zhǔn)進(jìn)行了全面更新,并對所有的新語言特性(包括可變參數(shù)模板、通用lambda、類模板參數(shù)推導(dǎo)等)進(jìn)行了解釋。全書共28章。首先全面介紹了本書的內(nèi)容結(jié)構(gòu)和相關(guān)情況。靠前部分(靠前~11章)介紹了模板的基本概念,第2部分(靠前2~17章)深入闡述了模板的細(xì)節(jié),第3部分(靠前8~28章)介紹了C++模板所支持的基本設(shè)計技術(shù)。附錄A、附錄B、附錄C、附錄D和附錄E分別為一處定義原則、值類別、重載解析、標(biāo)準(zhǔn)類型實(shí)用程序和概念的相關(guān)資料。本書適合對C++模板技術(shù)感興趣的有一定經(jīng)驗(yàn)的程序員閱讀。

C++ TEMPLATES(第2版)(英文版) 目錄

第 1部分: 基本概念



1 Function Templates 第 1章 函數(shù)模板



1.1 A First Look at Function Templates/初識函數(shù)模板

1.1.1 Defining the Template/定義模板

1.1.2 Using the Template/使用模板

1.1.3 Two-Phase Translation/二階段翻譯

1.2 Template Argument Deduction/模板參數(shù)推導(dǎo)

1.3 Multiple Template Parameters/多模板參數(shù)

1.3.1 Template Parameters for Return Types/返回類型的模板參數(shù)

1.3.2 Deducing the Return Type/推導(dǎo)返回類型

1.3.3 Return Type as CommonType/作為通用類型返回

1.4 Default Template Arguments/缺省模板參數(shù)

1.5 Overloading Function Templates/重載函數(shù)模板

1.6 But,Shouldn’t We... /但是,難道我們不應(yīng)該…?

1.6.1 Pass by Value or by Reference /按值傳遞還是按引用傳遞?

1.6.2 Why Not inline 為什么不用inline呢?

1.6.3 Why Not constexpr 為什么不用constexpr呢?

1.7 Summary/小結(jié)



2 Class Template 第 2章 類模板



2.1 Implementation of Class Template Stack/類模板Stack的實(shí)現(xiàn)

2.1.1 Declaration of Class Templates/類模板聲明

2.1.2 Implementation of Member Functions/成員函數(shù)的實(shí)現(xiàn)

2.2 Use of Class Template Stack/類模板Stack的使用

2.3 Partial Usage of Class Templates/類模板的局部使用

2.3.1 Concepts/概念

2.4 Friends/友元

2.5 Specializations of Class Templates/類模板特化

2.6 Partial Specialization/偏特化

2.7 Default Class Template Arguments/缺省類模板參數(shù)

2.8 Type Aliases/類型別名

2.9 Class Template Argument Deduction/類模板參數(shù)推導(dǎo)

2.10 Templatized Aggregates/模板聚合

2.11 Summary/小結(jié)



3 Nontype Template Parameters 第3章 非類型模板參數(shù)



3.1 Nontype Class Template Parameters/非類型類模板參數(shù)

3.2 Nontype Function Template Parameters/非類型函數(shù)模板參數(shù)

3.3 Restrictions for Nontype Template Parameters/非類型模板參數(shù)的限制

3.4 Template Parameter Type auto/模板參數(shù)類型auto

3.5 Summary/小結(jié)



4 Variadic Templates第4章 可變參數(shù)模板



4.1 Variadic Templates/可變參數(shù)模板

4.1.1 Variadic Templates by Example/可變參數(shù)模板實(shí)例

4.1.2 Overloading Variadic and Nonvariadic Templates/重載可變參數(shù)和非可變參數(shù)模板

4.1.3 Operator sizeof/運(yùn)算符sizeof

4.2 Fold Expressions/折疊表達(dá)式

4.3 Application of Variadic Templates /可變參數(shù)模板的應(yīng)用

4.4 Variadic Class Templates and Variadic Expressions/可變參數(shù)類模板和可變參數(shù)表達(dá)式

4.4.1 Variadic Expressions/可變參數(shù)表達(dá)式

4.4.2 Variadic Indices/可變參數(shù)指數(shù)

4.4.3 Variadic Class Templates/可變參數(shù)類模板

4.4.4 Variadic Deduction Guides/可變參數(shù)推導(dǎo)指南

4.4.5 Variadic Base Classes and using/可變參數(shù)基類和using

4.5 Summary/小結(jié)

5 Tricky Basics 第5章 基礎(chǔ)技術(shù)



5.1 Keyword typename/關(guān)鍵字typename

5.2 Zero Initialization/零初始化

5.3 Using this->/ this->的使用

5.4 Templates for Raw Arrays and String Literals/原始數(shù)組和字符串字面量模板

5.5 Member Templates/成員模板

5.5.1 The .template Construct/構(gòu)造.template

5.5.2 Generic Lambdas and Member Templates/泛型Lambda與成員模板

5.6 Variable Templates/變量模板

5.7 Template Template Parameters/模板的模板參數(shù)

5.8 Summary/小結(jié)



6 Move Semantics and enable_if



6.1 Perfect Forwarding/完美轉(zhuǎn)發(fā)

6.2 Special Member Function Templates/特殊的成員函數(shù)模板

6.3 Disable Templates with enable_if禁用模板

6.4 Using enable_if

6.5 Using Concepts to Simplify enable_if表達(dá)式

6.6 Summary/小結(jié)



7 By Value or by Reference 第7章 按值傳遞還是按引用傳遞?



7.1 Passing by Value/按值傳遞

7.2 Passing by Reference/按引用傳遞

7.2.1 Passing by Constant Reference/按常量引用調(diào)傳遞

7.2.2 Passing by Nonconstant Reference/按非常量引用傳遞

7.2.3 Passing by Forwarding Reference/按轉(zhuǎn)發(fā)傳遞

7.3 Using std::ref()andstd::cref()/std::ref() 和std::cref()的使用

7.4 Dealing with String Literals and Raw Arrays/ 處理字符串字面量常量與原始數(shù)組

7.4.1 Special Implementations for String Literals and Raw Arrays/ 字符串字面量常量和原始數(shù)組的特殊實(shí)現(xiàn)

7.5 Dealing with Return Values/處理返回值

7.6 Recommended Template Parameter Declarations/模板參數(shù)聲明推薦

7.7 Summary/小結(jié)



8 Compile-Time Programming 第8章 編譯時編程



8.1 Template Meta programming/模板元編程

8.2 Computing with constexpr/使用constexpr計算

8.3 Execution Path Selection with Partial Specialization/局部特化的執(zhí)行路徑選擇

8.4 SFINAE(Substitution Failure Is Not An Error)/ SFINAE(替換失敗并不是一種錯誤)

8.4.1 Expression SFINAE with decltype/ 帶有decltype 的SFINAE表達(dá)式

8.5 Compile-Time if/編譯時if

8.6 Summary/小結(jié)



9 Using Templates in Practice 第9章 在實(shí)戰(zhàn)中使用模板



9.1 The Inclusion Model/包含模型

9.1.1 Linker Errors/鏈接器錯誤

9.1.2 Templates in Header Files/頭文件中的模板

9.2 Templates and inline/模板和內(nèi)聯(lián)

9.3 Precompiled Headers/預(yù)編譯頭文件

9.4 Decoding the Error Novel/破譯大篇幅錯誤信息

9.5 Afternotes/本章后記

9.6 Summary/小結(jié)



10 Basic Template Terminology 第 10章 基本模板術(shù)語



10.1“Class Template” or “Template Class” / “類模板”還是“模板類”

10.2 Substitution , Instantiation , and Specialization/替換、實(shí)例化和特化

10.3 Declarations versus Definitions/聲明和定義

10.3.1 Complete versus Incomplete Types/完全和不完全類型

10.4 The One-Definition Rule/一處定義規(guī)則

10.5 Template Arguments versus Template Parameters/模板實(shí)數(shù)和模板形參

10.6 Summary/小結(jié)



11 Generic Libraries 第 11章 泛型庫



11.1 Callables/ Callable

11.1.1 Supporting Function Objects/支持函數(shù)對象

11.1.2 Dealing with Member Functions and Additional Arguments/處理成員函數(shù)和附加實(shí)參

11 .1.3 Wrapping Function Calls/包裝函數(shù)調(diào)用

11.2 Other Utilities to Implement Generic Libraries/實(shí)現(xiàn)泛型庫的其他實(shí)用程序

11.2.1 Type Traits/ Type Traits

11.2.2 std::addressof()/std::addressof()

11.2.3 std::declval()/std::declval()

11.3 Perfect Forwarding Temporaries/完美轉(zhuǎn)發(fā)臨時對象

11.4 References as Template Parameters/引用為模板參數(shù)

11.5 Defer Evaluations/延遲評估

11.6 Things to Consider When Writing Generic Libraries/編寫泛型庫時需要考慮的事情

11.7 Summary/小結(jié)



PartII: Templates in Depth 第二部分 深入模板



12 Fundamentals in Depth深入模板基礎(chǔ)



12.1 Parameterized Declarations/參數(shù)化宣告

12.1.1 Virtual Member Functions/虛成員函數(shù)

12.1.2 Linkage of Templates/模板鏈接

12.1.3 Primary Templates/主模板

12.2 Template Parameters/模板形參

12.2.1 Type Parameters/類型形參

12.2.2 Nontype Parameters/非類型形參

12.2.3 Template Template Parameters/模板的模板形參

12.2.4 Template Parameter Packs/模板參數(shù)包

12.2.5 Default Template Arguments/缺省模板實(shí)參

12.3 Template Arguments/模板實(shí)參

12.3.1 Function Template Arguments/函數(shù)模板實(shí)參

12.3.2 Type Arguments/類型實(shí)參

12.3.3 Nontype Arguments/非類型實(shí)參

12.3.4 Template Template Arguments/模板的模板實(shí)參

12.3.5 Equivalence/實(shí)參的等價性

12.4 Variadic Templates/可變參數(shù)模板

12.4.1 Pack Expansions/包擴(kuò)展

12.4.2 Where Can Pack Expansions Occur /在哪里進(jìn)行包擴(kuò)展?

12.4.3 Function Parameter Packs/函數(shù)的參數(shù)包

12.4.4 Multiple and Nested Pack Expansions/多重和嵌套包擴(kuò)展

12.4.5 Zero-Length Pack Expansions/零長度包擴(kuò)展

12.4.6 Fold Expressions/折疊表達(dá)式

12.5 Friends/友元

12.5.1 Friend Classes of Class Templates/類模板的友元類

12.5.2 Friend Functions of Class Templates /類模板的友元函數(shù)

12.5.3 Friend Templates/友元模板

12.6 Afternotes/本章后記



13 Names in Templates 第 13章 模板中的名稱



13.1 Name Taxonomy/名稱的分類

13.2 Looking Up Names/名稱的查找

13.2.1 Argument-Dependent Lookup/參數(shù)依賴查找 (ADL)

13.2.2 Argument-Dependent Lookup of Friend Declarations/友元聲明的ADL

13.2.3 Injected Class Names/注入式類名稱

13.2.4 Current Instantiations/當(dāng)前實(shí)例化

13.3 Parsing Templates/解析模板

13.3.1 Context Sensitivity in Nontemplates/非模板的上下文敏感性

13.3.2 Dependent Names of Types/類型的依賴名稱

13.3.3 Dependent Names of Templates/模板的依賴名稱

13.3.4 Dependent Names in Using Declarations/使用聲明中的依賴名稱

13.3.5 ADL and Explicit Template Arguments/ADL和顯式模板實(shí)參

13.3.6 Dependent Expressions/依賴表達(dá)式

13.3.7 Compiler Errors/編譯器錯誤

13.4 Inheritance and Class Templates/繼承和類模板

13.4.1 Nondependent Base Classes/非依賴型基類

13.4.2 Dependent Base Classes/依賴型基類

13.5 Afternotes/本章后記



14 Instantiation 第 14章 實(shí)例化



14.1 On-Demand Instantiation/ 按需實(shí)例化

14.2 Lazy Instantiation/延遲實(shí)例化

14.2.1 Partial and Full Instantiation/部分和全部實(shí)例化

14.2.2 Instantiated Components/實(shí)例化組件

14.3 The C Instantiation Model/C 實(shí)例化模型

14.3.1 Two-Phase Lookup/二階段查找

14.3.2 Points of Instantiation/實(shí)例化點(diǎn)

14.3.3 The Inclusion Model/包含模型

14.4 Implementation Schemes/實(shí)現(xiàn)方案

14.4.1 Greedy Instantiation/貪婪實(shí)例化

14.4.2 Queried Instantiation/詢問實(shí)例化

14.4.3 Iterated Instantiation/迭代實(shí)例化

14.5 Explicit Instantiation/顯式實(shí)例化

14.5.1 Manual Instantiation/手動實(shí)例化

14.5.2 Explicit Instantiation Declarations/顯式實(shí)例化聲明

14.6 Compile-Time if Statements/ 編譯時if語句

14.7 In the Standard Library/標(biāo)準(zhǔn)庫

14.8 Afternotes/本章后記



15 Template Argument Deduction 第 15章 模板實(shí)參推導(dǎo)



15.1 The Deduction Process/推導(dǎo)過程

15.2 Deduced Contexts/推導(dǎo)上下文

15.3 Special Deduction Situations/特殊的推導(dǎo)情況

15.4 Initializer Lists/初始化列表

15.5 Parameter Packs/形參包

15.5.1 Literal Operator Templates/字面運(yùn)算符模板

15.6 Rvalue References/右值引用

15.6.1 Reference Collapsing Rules/引用折疊原則

15.6.2 Forwarding References/轉(zhuǎn)發(fā)引用

15.6.3 Perfect Forwarding/完美轉(zhuǎn)發(fā)

15.6.4 Deduction Surprises/推導(dǎo)的驚喜

15.7 SFINAE(Substitution Failure Is Not An Error )/ 替換失敗并不是錯誤

15.7.1 Immediate Context/即時上下文

15.8 Limitations of Deduction/推導(dǎo)的限制

15.8.1 Allowable Argument Conversions/可接受的實(shí)參轉(zhuǎn)換

15.8.2 Class Template Arguments/類模板實(shí)參

15.8.3 Default Call Arguments/缺省調(diào)用實(shí)參

15.8.4 Exception Specifications/異常規(guī)范

15.9 Explicit Function Template Arguments/顯式函數(shù)模板實(shí)參

15.10 Deduction from Initializers and Expressions/從初始化和表達(dá)式中推導(dǎo)

15.10.1 The auto Type Specifier/ auto類型說明符

15.10.2 Expressing the Type of an Expression with decltype/用 decltype表示表達(dá)式的類型

15.10.3 decltype(auto)/ decltype(auto)

15.10.4 Special Situations for auto Deduction/ auto推導(dǎo)的特殊情況

15.10.5 Structured Bindings/結(jié)構(gòu)化綁定

15.10.6 Generic Lambdas/ 泛型Lambda表達(dá)式

15.11 Alias Templates/別名模板

15.12 Class Template Argument Deduction/類模板實(shí)參推導(dǎo)

15.12.1 Deduction Guides/ 推導(dǎo)指南

15.12.2 Implicit Deduction Guides/隱式推導(dǎo)指南

15.12.3 Other Subtleties/其他細(xì)節(jié)

15.13 Afternotes/本章后記



16 Specialization and Overloading 特化和重載



16.1 When“Generic Code” Doesn’t Quite Cut It/當(dāng)“泛型代碼”并不能很好地解決問題時

16.1.1 Transparent Customization/ 透明自定義

16.1.2 Semantic Transparency/語義透明度

16.2 Overloading Function Templates/重載函數(shù)模板

16.2.1 Signatures/簽名

16.2.2 Partial Ordering of Overloaded Function Templates/重載函數(shù)模板的偏序

16.2.3 Formal Ordering Rules/正式的排序規(guī)則

16.2.4 Templates and Nontemplates/模板和非模板

16.2.5 Variadic Function Templates/可變參數(shù)函數(shù)模板

16.3 Explicit Specialization/顯式特化

16.3.1 Full Class Template Specialization/全局類模板特化

16.3.2 Full Function Template Specialization/全局函數(shù)模板特化

16.3.3 Full Variable Template Specialization/全局可變模板特化

16.3.4 Full Member Specialization/全局成員特化..

16.4 Partial Class Template Specialization/局部類模板特化

16.5 Partial Variable Template Specialization/局部可變模板特化

16.6 Afternotes/本章后記



17 Future Directions 第 17章 未來發(fā)展方向



17.1 Relaxed typename Rules/寬松的typename原則

17.2 Generalized Nontype Template Parameters/廣義非類型模板參數(shù)

17.3 Partial Specialization of Function Templates/函數(shù)模板的局部特化

17.4 Named Template Arguments/命名模板實(shí)參

17.5 Overloaded Class Templates/重載類模板

17.6 Deduction for Nonfinal Pack Expansions/中間包擴(kuò)展的推導(dǎo)

17.7 Regularization of void/void的規(guī)范化

17.8 Type Checking for Templates/模板的類型檢查

17.9 Reflective Meta programming/反射元編程

17.10 Pack Facilities/包管理工具

17.11 Modules/模塊



PartIII: Templates and Design 第3部分 模板和設(shè)計



18 The Polymorphic Power of Templates 第 18章 模板的多態(tài)性



18.1 Dynamic Polymorphism/動態(tài)多態(tài)性

18.2 Static Polymorphism/靜態(tài)多態(tài)性

18.3 Dynamic versus Static Polymorphism/動態(tài)多態(tài)性與靜態(tài)多態(tài)性

18.4 Using Concepts/概念

18.5 New Forms of Design Patterns/設(shè)計模式的新形式

18.6 Generic Programming/泛型編程

18.7 Afternotes/本章后記



19 Implementing Traits 第 19章Trait的實(shí)現(xiàn)

19.1 An Example : Accumulating a Sequence/一個實(shí)例:累加一個序列

19.1.1 Fixed Traits/Fixed Trait

19.1.2 Value Traits/Value Trait

19.1.3 Parameterized Traits/參數(shù)化Trait

19.2 Traits versus Policies and Policy Classes/ Traits、Policy和Policy類

19.2.1 Traits and Policies : What’s the Difference / Traits和 Policy:區(qū)別在哪里?

19.2.2MemberTemplatesversusTemplate Template Parameters/成員模板與模板的模板參數(shù)

19.2.3Combining Multiple Policies and/or Traits/組合多個policy和/或trait

19.2.4 Accumulation with General Iterators/用一般迭代器累積

19.3 Type Functions/類型函數(shù)

19.3.1 Element Types/元素類型

19.3.2 Transformation Traits/ Transformation Traits

19.3.3 Predicate Traits/ Predicate Traits

19.3.4 Result Type Traits/ Result Type Traits

19.4 SFINAE-Based Traits/ 基于SFINAE的Trait

19.4.1 SFINAE Out Function Overloads/ SFINAE功能過載

19.4.2 SFINAE Out Partial Specializations/ SFINAE局部特化

19.4.3 Using Generic Lambdas for SFINAE/為SFINAE使用泛型Lambda表達(dá)式

19.4.4 SFINAE-Friendly Traits/ SFINAE友好的特征

19.5 IsConvertibleT/IsConvertibleT

19.6 Detecting Members/檢查成員

19.6.1 Detecting Member Types/檢查成員類型

19.6.2 Detecting Arbitrary Member Types/檢查任意成員類型

19.6.3 Detecting Nontype Members/檢查非類型成員

19.6.4 Using Generic Lambdas to Detect Members/使用泛型Lambda表達(dá)式檢查成員

19.7 Other Traits Techniques/其他Trait技術(shù)

19.7.1 If-Then-Else/ If-Then-Else

19.7.2 Detecting Nonthrowing Operations/檢查不拋出異常的操作

19.7.3 Traits Convenience/ Trait的便利性

19.8 Type Classification/類型分類

19.8.1 Determining Fundamental Types/確定基本類型

19.8.2 Determining Compound Types/確定復(fù)合類型

19.8.3 Identifying Function Types/識別函數(shù)類型

19.8.4 Determining Class Types/確定類類型

19.8.5 Determining Enumeration Types/確定枚舉類型

19.9 Policy Traits/ Policy Trait

19.9.1 Read-Only Parameter Types/ 只讀參數(shù)類型

19.10 In the Standard Library/在標(biāo)準(zhǔn)庫中

19.11 Afternotes/本章后記



20 Overloading on Type Properties 第 20章 類型屬性上的重載



20.1 Algorithm Specialization/算法特化

20.2 Tag Dispatching/標(biāo)簽調(diào)度

20.3 Enabling/Disabling Function Templates/啟用/禁用函數(shù)模板

20.3.1 Providing Multiple Specializations/提供多重特化

20.3.2 Where Does the EnableIf Go / EnableIf在哪里運(yùn)行?

20.3.3 Compile-Time if/編譯時if

20.3.4 Concepts/概念

20.4 Class Specialization/類的特化

20.4.1 Enabling/Disabling Class Templates/啟用/禁用類模板

20.4.2 Tag Dispatching for Class Templates/類模板標(biāo)簽調(diào)度

20.5 Instantiation-Safe Templates/ 實(shí)例化安全的模板

20.6 In the Standard Library/在標(biāo)準(zhǔn)庫中

20.7 Afternotes/本章后記



21 Templates and Inheritance 第 21章 模板和繼承



21.1 The Empty Base Class Optimization(EBCO)/ 空白基類*優(yōu)化

21.1.1 Layout Principles/布局原則

21.1.2 Members as Base Classes/成員作為基類

21.2 The Curiously Recurring Template Pattern(CRTP)/ 奇異遞歸模板模式

21.2.1 The Barton-Nackman Trick/ Barton-Nackman技巧

21.2.2 Operator Implementations/操作符實(shí)現(xiàn)

21.2.3 Facades/ 門面模式

21.3 Mixins/ Mixin

21.3.1 Curious Mixins/ 令人好奇的Mixin

21.3.2 Parameterized Virtuality參數(shù)化的虛擬性

21.4 Named Template Arguments/指定模板參數(shù)

21.5 Afternotes/本章后記



22 Bridging Static and Dynamic Polymorphism 第 22章 橋接靜態(tài)和動態(tài)多態(tài)性



22.1 Function Objects , Pointers , and std::function

22.2 Generalized Function Pointers/廣義函數(shù)指針

22.3 Bridge Interface/橋接口

22.4 Type Erasure/類型擦除

22.5 Optional Bridging/可選橋接

22.6 Performance Considerations/性能考慮

22.7 Afternotes/本章后記



23 Meta programming 第 23章 元編程



23.1 The State of Modern C Meta programming/現(xiàn)代C 元編程的狀態(tài)

23.1.1 Value Meta programming

23.1.2 Type Meta programming/類型元編

23.1.3 Hybrid Meta programming/混合元編程

23.1.4 Hybrid Meta programming for Unit Types/單元類型的混合元編程

23.2 The Dimensions of Reflective Meta programming/反射元編程的維數(shù)

23.3 The Cost of Recursive Instantiation/遞歸實(shí)例化的代價

23.3.1 Tracking All Instantiations/跟蹤所有實(shí)例

23.4 Computational Completeness/計算完整性

23.5 Recursive Instantiation versus Recursive Template Arguments/遞歸實(shí)例化與遞歸模板參數(shù)

23.6Enumeration Values versus Static Constants/枚舉值與靜態(tài)常量

23.7 Afternotes/本章后記



24 Typelists 第 24章Typelist



24.1 Anatomy of a Typelist/ Typelist解析

24.2 Typelist Algorithms/ Typelist算法

24.2.1 Indexing/索引

24.2.2 Finding the Best Match/尋找*佳匹配

24.2.3 Appending to a Typelist/添加Typelist

24.2.4 Reversing a Typelist/反轉(zhuǎn)Typelist

24.2.5 Transforming a Typelist/轉(zhuǎn)化Typelist

24.2.6 Accumulating Typelists/累加Typelist

24.2.7 Insertion Sort/插入排序

24.3 Nontype Typelists/非類型Typelists

24.3.1 Deducible Nontype Parameters/可推導(dǎo)的非類型參數(shù)

24.4 Optimizing Algorithms with Pack Expansions/使用包擴(kuò)展優(yōu)化算法

24.5 Cons-style Typelists/ Cons-style Typelist

24.6 Afternotes/本章后記



25 Tuples 第 25章 元組



25.1 Basic Tuple Design/基本的元組設(shè)計

25.1.1 Storage/存儲

25.1.2 Construction/結(jié)構(gòu)

25.2 Basic Tuple Operations/基本的元組操作

25.2.1 Comparison/比較25.2.2 Output/輸出

25.3 Tuple Algorithms/元組算法

25.3.1 Tuples as Typelists/元組作為Typelist

25.3.2 Adding to and Removing from a Tuple/從元組中添加和移除

25.3.3 Reversing a Tuple/反轉(zhuǎn)一個元組

25.3.4 Index Lists/索引列表

25.3.5 Reversal with Index Lists/用索引列表進(jìn)行反轉(zhuǎn)

25.3.6 Shuffle and Select/洗牌算法和選擇算法

25.4 Expanding Tuples/擴(kuò)展元組

25.5 Optimizing Tuple/優(yōu)化元組

25.5.1 Tuples and the EBCO/元組和EBCO

25.5.2 Constant-time get()/常數(shù)時間的get()

25.6 Tuple Subscript/元組下標(biāo)

25.7 Afternotes/本章后記



26 Discriminated Unions 第 26章 可識別的聯(lián)合



26.1 Storage/存儲

26.2 Design/設(shè)計

26.3 Value Query and Extraction/值查詢與提取

26.4 Element Initialization, Assignment and Destruction/元素初始化、賦值和銷毀

26.4.1 Initialization/初始化

26.4.2 Destruction/銷毀

26.4.3 Assignment/賦值

26.5 Visitors/訪問

26.5.1 Visit Result Type/訪問結(jié)果類型

26.5.2 Common Result Type/常見結(jié)果類型

26.6 Variant Initialization an Assignment/變量初始化賦值

26.7 Afternotes/本章后記



27 Expression Templates 第 27章 表達(dá)式模板



27.1 Temporaries and Split Loops/臨時變量和分割循環(huán)

27.2 Encoding Expressions in Template Arguments/在模板參數(shù)中編碼表達(dá)式

27.2.1 Operands of the Expression Templates/表達(dá)式模板的操作數(shù)

27.2.2 The Array Type/ Array類型

27.2.3 The Operators/運(yùn)算符

27.2.4 Review/回顧

27.2.5 Expression Templates Assignments/表達(dá)式模板賦值

27.3 Performance and Limitations of Expression Templates/表達(dá)式模板的性能與約束

27.4 Afternotes/本章后記



28 Debugging Templates 第 28章 調(diào)試模板



28.1 Shallow Instantiation/淺式實(shí)例化

28.2 Static Assertions/靜態(tài)斷言

28.3 Archetypes/原型

28.4 Tracers/跟蹤程序

28.5 Oracles/ Oracle

28.6 Afternotes/本章后記



Appendixes/附錄



A The One-Definition Rule 附錄A 一處定義原則



A.1 Translation Units/翻譯單元

A.2 Declarations and Definitions/聲明和定義

A.3 The One-Definition Rule in Detail/一處定義原則的細(xì)節(jié)

A.3.1 One-per-Program Constraints/程序的一處定義約束

A.3.2 One-per-Translation Unit Constraints/翻譯單元的一處定義約束

A.3.3 Cross-Translation Unit Equivalence Constraints/跨翻譯單元的等價性約束



B Value Categories 附錄B 值類別



B.1 Traditional Lvalues and Rvalues/傳統(tǒng)的左值和右值

B.1.1 Lvalue-to-Rvalue Conversions/左值和右值轉(zhuǎn)換

B.2 Value Categories Since C 11/ C 11的值類別

B.2.1 Temporary Materialization/臨時實(shí)體化

B.3 Checking Value Categories with decltype/使用decltype檢查值類別

B.4 Reference Types/引用類別



C Overload Resolution 附錄C 重載解析



C.1 When Does Overload Resolution Kick In / 何時應(yīng)用重載解析

C.2 Simplified Overload Resolution/簡化的重載解析

C.2.1 The Implied Argument for Member Functions/成員函數(shù)的隱式參數(shù)

C.2.2 Refining the Perfect Match/對*佳匹配進(jìn)行改進(jìn)

C.3 Overloading Details/重載的細(xì)節(jié)

C.3.1 Prefer Nontemplates or More Specialized Templates/優(yōu)先非模板還是更加專用的模板

C.3.2 Conversion Sequences/轉(zhuǎn)義序列

C.3.3 Pointer Conversions/指針轉(zhuǎn)換

C.3.4 Initializer Lists/初始化列表

C.3.5 Functors and Surrogate Functions/仿函數(shù)和代理函數(shù)

C.3.6 Other Overloading Contexts/其他重載情況



D Standard Type Utilities 附錄D 標(biāo)準(zhǔn)類型實(shí)用程序



D.1 Using Type Traits/使用Type Traits

D.1.1 std::integral_constant and std::bool_constant/ std::integral_constant和std::bool_constant

D.1.2 Things You Should Know When Using Traits/使用Trait時應(yīng)該知道的事

D.2 Primary and Composite Type Categories/主要類型和復(fù)合類型

D.2.1 Testing for the Primary Type Category/測試主要類型的類別

D.2.2 Test for Composite Type Categories/測試復(fù)合類型的類別

D.3 Type Properties and Operations/類型屬性和操作

D.3.1 Other Type Properties/其他類型屬性

D.3.2 Test for Specific Operations/測試具體操作

D.3.3 Relationships Between Types/類型之間的關(guān)系

D.4 Type Construction/類型結(jié)構(gòu)

D.5 Other Traits/其他Trait

D.6 Combining Type Traits/組合Type Trait

D.7 Other Utilities/其他應(yīng)用程序



E Concepts 附錄E 概念



E.1 Using Concepts/使用概念

E.2 Defining Concepts/定義概念

E.3 Overloading on Constraints/重載約束

E.3.1 Constraint Subsumption/約束包含

E.3.2 Constraints and Tag Dispatching/約束和標(biāo)簽調(diào)度

E.4 Concept Tips/概念提示

E.4.1 Testing Concepts/測試概念

E.4.2 Concept Granularity/概念粒度

E.4.3 Binary Compatibility/二進(jìn)制兼容性



Bibliography 文獻(xiàn)目錄



Forums/論壇



Books and WebSites/圖書和網(wǎng)站



Glossary 術(shù)語



Index 索引
展開全部

C++ TEMPLATES(第2版)(英文版) 作者簡介

David Vandevoorde,Edison Design Group公司的工程副總裁,為公司的C 編譯器中的一些關(guān) 鍵特性進(jìn)行了架構(gòu)設(shè)計。他是知名的comp.lang.c .moderat論壇的聯(lián)合創(chuàng)始人,同時還積極投身于C 的標(biāo)準(zhǔn)化工作。他擁有倫斯勒理工學(xué)院計算機(jī)科學(xué)博士、碩士學(xué)位,以及布魯塞爾自由大學(xué)的工程碩 士學(xué)位。 Nicolai M. Josuttis,他是一位獨(dú)立的系統(tǒng)架構(gòu)師、技術(shù)經(jīng)理、顧問以及培訓(xùn)師,過去20年以來 他一直致力于C 的標(biāo)準(zhǔn)化工作。他還是The C Standard Library: A Tutorial and Reference (2nd Edition) 等書的作者。 Douglas Gregor,是一位知名的編譯器人員,具有C 庫的設(shè)計背景。作為Boost的早期貢獻(xiàn) 者,他開發(fā)的一些庫被列入了C 標(biāo)準(zhǔn)。在對C 11提供支持的期間,他領(lǐng)導(dǎo)了開源的C 編譯器 Clang的實(shí)現(xiàn)。他擁有倫斯勒理工學(xué)院的計算機(jī)科學(xué)博士學(xué)位。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服
主站蜘蛛池模板: 南京蜂窝纸箱_南京木托盘_南京纸托盘-南京博恒包装有限公司 | 西安微信朋友圈广告投放_微信朋友圈推广_西安度娘网络科技有限公司 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 家用净水器代理批发加盟_净水机招商代理_全屋净水器定制品牌_【劳伦斯官网】 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司| 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | WF2户外三防照明配电箱-BXD8050防爆防腐配电箱-浙江沃川防爆电气有限公司 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 特种阀门-调节阀门-高温熔盐阀-镍合金截止阀-钛阀门-高温阀门-高性能蝶阀-蒙乃尔合金阀门-福建捷斯特阀门制造有限公司 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 热闷罐-高温罐-钢渣热闷罐-山东鑫泰鑫智能热闷罐厂家 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 运动木地板厂家_体育木地板安装_篮球木地板选购_实木运动地板价格 | 沈阳缠绕包装机厂家直销-沈阳海鹞托盘缠绕包装机价格 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 隧道窑炉,隧道窑炉厂家-山东艾瑶国际贸易 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂| 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | 东莞海恒试验仪器设备有限公司| 耐高温电缆厂家-远洋高温电缆 | 999范文网_优质范文下载写作帮手 | 南京精锋制刀有限公司-纵剪机刀片_滚剪机刀片_合金刀片厂家 | 标准品网_标准品信息网_【中检计量】 | 长江船运_国内海运_内贸船运_大件海运|运输_船舶运输价格_钢材船运_内河运输_风电甲板船_游艇运输_航运货代电话_上海交航船运 | 上海公众号开发-公众号代运营公司-做公众号的公司企业服务商-咏熠软件 | 洛阳装修公司-洛阳整装一站式品牌-福尚云宅装饰 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 |