C++ Templates and the STL
2h 14mIntermediate2018-12-20
Authors

Bill Weinman
Tech Advocate, Entrepreneur, Programming Expert
Course details
C++ templates support generic programming, code that works independent of type. The C++ Standard Template Library (STL) is one of the most complete and powerful container libraries available. Having a solid grasp of both C++ templates and the STL is essential for programmers looking to attain competency in C++. In this course, the second in a series focused on C++ essentials, instructor Bill Weinman dives into both of these fundamental topics. To begin, he covers templates, discussing template syntax, template functions and classes, and argument deduction. He then builds on that knowledge to discuss STL containers, iterators, transformations, functions, and algorithms.
Learning objectives
Template fundamentals
STL containers
Accessing iterators
Output, forward, and bidirectional iterators
The transform function
Transforming strings and types
Arithmetic, relational, and logical functions
STL algorithms
Learning objectives
Template fundamentals
STL containers
Accessing iterators
Output, forward, and bidirectional iterators
The transform function
Transforming strings and types
Arithmetic, relational, and logical functions
STL algorithms
Skills covered
C++Software ArchitectureEssential TrainingProgramming LanguagesOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Dive into C++ templates and the STL
- 02 - How to use the exercise files
1. Templates
- 03 - What is a template
- 04 - Template syntax
- 05 - Template specialization
- 06 - Template variables
- 07 - Impact on header files
- 08 - Type inference
- 09 - Argument deduction
2. STL Containers
- 10 - Vector
- 11 - List
- 12 - Pair and tuple
- 13 - Array
- 14 - Deque
- 15 - Queue
- 16 - Stack
- 17 - Set
- 18 - Maps
3. STL Iterators
- 19 - Accessing iterators
- 20 - Input iterators
- 21 - Output iterators
- 22 - Forward iterators
- 23 - Bidirectional iterators
- 24 - Random access iterators
4. Transformations
- 25 - The transform function
- 26 - Lambda transformations
- 27 - Transforming strings
- 28 - Binary transformations
- 29 - Transforming types
5. STL Functions
- 30 - About functors
- 31 - Arithmetic functors
- 32 - Relational functors
- 33 - Logical functors
6. STL Algorithm
- 34 - About STL algorithms
- 35 - Testing conditions
- 36 - Searching and counting
- 37 - Replacing and removing
- 38 - Modifying algorithms
- 39 - Partitions
- 40 - Sorting
- 41 - Merging sequences
- 42 - Binary searches
Conclusion
- 43 - Goodbye