In-depth implementation of c ++ template Programming
Source: Internet
Author: User
Author of basic information of "Deep practice C ++ template programming": Wen Yujie Press: Machinery Industry Press ISBN: 9787111427544 Release Date: June 2013 published on: 16: 1-1 category: computer more about, in-depth practice, C ++ template programming, Introduction to computer books, typical books in the field of C ++ template programming, written by senior C ++ development engineers. This book provides an in-depth explanation of the basic principles of template programming and the implementation principles of templates such as algorithms and containers in the standard library, A large number of templates show readers how to use templates for programming and how to write custom templates. In addition, this book also summarizes a variety of common template programming skills, new template features and New syntaxes in the C ++ 11 standard, and other language features added in C ++ 11. In-depth practice of C ++ template programming consists of 16 chapters, divided into four parts: The first part (1st ~ Chapter 4) first introduces the basic concepts and usage of template programming, and then focuses on the implementation methods and limitations of the compiler on the template, readers can understand the basic principles of the template through this section and implement simple class templates and function templates on their own. Part 2 (5th ~ Chapter 9) thoroughly analyzes the implementation principles and usage of algorithms and containers in the standard library, readers have a deep understanding of the relationship between algorithms, iterators, and containers in the standard library, so that they can precisely adjust the behavior of standard containers, self-developed container templates for standard algorithms. Part 3 (10th ~ Chapter 13) discusses the advanced techniques of template programming, such as the design of the "concept" in template programming, the technology for controlling the amount of code, the control of the compilation logic, and the basic methods of metaprogramming, readers can use this part to develop a larger and more intelligent template library, and use metaprogramming technology to implement logical deduction and type deduction during the compilation period. Part 4 (14th ~ Chapter 16 introduces the new language features in the C ++ 11 standard and the impact on Template programming. Contents: In-depth practices of C ++ template programming Preface Part 1 Basic templates Chapter 1 Hello templates/1st why templates/21.1 first-recognized function templates/31.2.1 Implementation of function templates/31.2.2 how to use functions template/41.2.3 template parameter automatic derivation/51.2.4 template parameter default value/71.2.5 static variable of the template function/81.3 how to handle the function body in the function template/81.3.1 HPP file or CPP file/91.3.2 how to identify the linker duplicate template instance/101.4 embarrassing export template/131.4.1 what is a foreign name template/131.4.2 C ++ compiler processing of external name templates/141.5 summary of this chapter/15 chapter 15 categories also templates/2nd type-independent data structure/16.2.2 practice -- stack template/172.2.1 stack template instance/172.2.2 stack template derivative subclass template instance/202.3 breakthrough -- heterogeneous linked list/212.4 construct tuples/232.4.1 pass nested implementation tuples/232.4.2 usage of tuples/242.5 class Templates using classes/252.5.1 member function templates/252.5.2 member function templates/static members of 262.6 class templates/272.7 summary of this chapter/30 Chapter 3rd template parameter Type Details/313.1 integer template parameters/313.2 function pointer template parameters/323.3 pointer and reference template parameters/343.4 member function pointer template parameters/353.5 template parameters/373.6 summary of this chapter/ 39 chapter 3 There are always "Special Cases"/4th from vector [bool]/404.1 Writing of special cases/404.2 special case matching rules/444.3 Special Cases of function templates and heavy loads/474.4.1 identifying heavy loads/ 504.4.2 conditional judgment logic during compilation/524.5 summary of this chapter/54 templates in Part 2 standard library Chapter 2 Container, iterator and algorithm/5th container definition/565.1 container Implementation/565.2.1 Java implementation Method/575.2.2 C ++ implementation method/605.3 container and iterator/625.3.1 linked list container and iterator/645.3.2 collection container and iterator/675.4 iterator and algorithm/715.4.1 the sum of elements in the container/715.4.2 instance: micro-Algorithm Library/735.5 container and iterator classification/755.6 container and algorithm relationship/765.7 trap of the iterator/765.8 summary of this chapter/77 Chapter 6th container/796.1 container classification and basic requirements/796.2 sequence container/816.2.1 variable-length array vector/826.2.2 bidirectional linked list/846.2.3 double-ended sequence deque/856.3 container converter/876.3.1 stack and queue/876.3.2 priority queue priority_queue /886.4 associated container/896.4.1 Basic Data Structure/896.4.2 embedded type definition/926.4.3 construct associated container/926.4.4 insert data/936.4.5 data deletion, search and access/966.4.6 integer special set bitset/986.5 hash container/996.5.1 Basic Data Structure/996.5.2 hash function/1006.5.3 bucket/1016.6 other C ++ 11 new container/limit 6.6.1 fixed length array/limit 6.6.2 one-way linked list forward_list/ 1056.7 summary in this chapter/106 chapter 7th invisible assistant-basic requirements of the distributor/1077.1 distributor/1077.2 special handling of container content exchange/1107.3 stateful distributor and stateless distributor/1127.4 practices: pool distributor/1147.4.1 pool distributor template class design/1157.4.2 Object pool Implementation/ipv7.4.3 positioning structure/1217.4.4 pool distributor Implementation/1227.4.5 testing pool distributor/1277.4.6 actual operation/1297.5 Summary/131 chapter 1 iterator/8th iterator classification/1328.1.1 input iterator/1328.1.2 forward iterator/1338.1.3 bidirectional iterator and jump iterator/1358.1.4 output iterator/1328.1 iterator tool attribute template/1378.3 iterator converter/1398.3.1 reverse iterator/1398.3.2 insert iterator/1418.4 stream iterator/1428.5 Summary/144 chapter 9th standard library algorithm/1459.1 Algorithm common features/1459.2 common algorithms in the standard library/1459.2.1 foreach writing/1469.2.2 search/1479.2.3 count and comparison/1499.2.4 copy, exchange, replace and delete/1499.2.5 sort/1519.2.6 Binary Search/ 1519.2.7 set operation/1529.2.8 binary heap operation/1549.2.9 other algorithms/1549.3 preset function object/1559.3.1 function object base class/1559.3.2 operation function object/1569.3.3 parameter binding/1579.4 practices: in the matrix operation, how to eliminate the cyclic statement/1659.4.1 cross-hop iterator/1659.4.2 matrix template/1679.4.3 accumulative iterator/1699.4.4 matrix multiplication/1709.4.5 matrix Lu decomposition/1719.4.6 combined iterator/1729.4.7 without loops? statement matrix multiplication/1779.5 summary in this chapter/178 Part 3 advanced template programming skills Chapter 2 special terms-concepts/10th inherent limitations of templates/18010.1 proposal for "Concepts" and conceptgcc Compiler/18010.2 concept syntax/18310.3.1 definition concept/18310.3.2 use concept constraint template parameters/18410.3.3 concept ing/18410.4 concept simulation Library/18610.4.1 concept check macro/18710.4.2 custom concept check/18910.4.3 concept typical/19010.5 this chapter summary/Chapter 191 code expansion/11th source code increase/19211.1.1 proxy dilemma/19211.1.2 D language method/19211.1 target code increase/19611.2.1 cause of target code expansion/19611.2.2 target code expansion instance/19711.2.3 improved code/19811.2.4 testing improved results/20611.3 Summary/208 chapter 12th common template programming skills/20912.1 labels and features/20912.1.1 feature class template numeric_limits/20912.1.2 instance: matrix and vector multiplication/21112.2 compilation phase polymorphism/fully covered function templates/examples 12.2.2 inspiration for virtual functions/generation of virtual base class templates/21412.3 policies/21712.3.1 policies: in addition, the limitations of vector/21712.3.2 add storage policy for vector/21812.4 Pseudo Variable Length Parameter template/22312.4.1 hetero_node inspiration/22412.4.2 compile-time recursion/22512.4.3 access data in tuples/22712.5 Summary/230 13th chapter meta programming/meta programming in 23113.1 C ++/23113.2 meta functions/23113.2.1 Implementation of meta functions/231
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service