This course provides the student with the knowledge to improve C++ programs using generic programming, templates, and the Standard Template Library.
Audience: This course is intended for C++ programmers who need to take advantage of the Standard Template Library.
Course Duration: 3 Days
Prerequisites:
Participants are recommended to have several years of programming in C++ before attending this class.
Course Outline:
- Basic Concepts
- Origin and History of the Standard
- Template Library
- Why Use the STL?
- What is the Standard Template Library?
- Foundation C++ Concepts
- Generic Programming with Templates
- Why Templates?
- Function Templates
- Class Templates
- Template Specialization
- Default Template Parameters
- Non-Type Template Parameters
- Template Parameters
- Other Template Related Topics
- Using Templates
- Components of the STL
- Sequential Containers
- Containers
- Sequential Containers
- The Vector Container
- The Deque Container
- The List Container
- The String Class
- The Bitset Container
- The Valarray Container
- Iterators
- What Is an Iterator?
- Iterators in the STL
- Random Access Iterators
- Bidirectional Iterators
- Forward Iterators
- Input Iterators
- Output Iterators
- Associative Containers
- What is an Associative Container?
- The Pair Container
- The Set Container
- The Multiset Container
- The Map Container
- The Multimap Container
- The Hashed Associative
- Container
- Adapted Iterators
- What Are Iterator Adaptors?
- The Inserter Iterator Adaptor
- The Reverse Iterator Adaptor
- The Stream Iterator Adaptor
- Adapted Containers
- What Are Container Adaptors?
- The Stack Container Adaptor
- The Queue Container Adaptor
- The priority_que Container Adaptor
- Functors
- What is a Functor?
- Classifying Functors
- Functions Pointers Review
- Arithmetic Functors
- Relational Functors
- Logical Functors
- Function Adaptors
- What Are Function Adaptors?
- The Binder Function Adaptors
- The Negator Function Adaptors
- Member Function Adaptors
- Pointers to Functions
- User Defined Functors
- Non-Mutating Algorithms
- Algorithms
- Non-Mutating Algorithms
- Searching
- Basic Concepts
- Origin and History of the Standard
- Template Library
- Why Use the STL?
- What is the Standard Template Library?
- Foundation C++ Concepts
- Generic Programming with Templates
- Why Templates?
- Function Templates
- Class Templates
- Template Specialization
- Default Template Parameters
- Non-Type Template Parameters
- Template Parameters
- Other Template Related Topics
- Using Templates
- Components of the STL
- Sequential Containers
- Containers
- Sequential Containers
- The Vector Container
- The Deque Container
- The List Container
- The String Class
- The Bitset Container
- The Valarray Container
- Iterators
- What Is an Iterator?
- Iterators in the STL
- Random Access Iterators
- Bidirectional Iterators
- Forward Iterators
- Input Iterators
- Output Iterators
- Associative Containers
- What is an Associative Container?
- The Pair Container
- The Set Container
- The Multiset Container
- The Map Container
- The Multimap Container
- The Hashed Associative
- Container
- Adapted Iterators
- What Are Iterator Adaptors?
- The Inserter Iterator Adaptor
- The Reverse Iterator Adaptor
- The Stream Iterator Adaptor
- Adapted Containers
- What Are Container Adaptors?
- The Stack Container Adaptor
- The Queue Container Adaptor
- The priority_que Container Adaptor
- Functors
- What is a Functor?
- Classifying Functors
- Functions Pointers Review
- Arithmetic Functors
- Relational Functors
- Logical Functors
- Function Adaptors
- What Are Function Adaptors?
- The Binder Function Adaptors
- The Negator Function Adaptors
- Member Function Adaptors
- Pointers to Functions
- User Defined Functors
- Non-Mutating Algorithms
- Algorithms
- Non-Mutating Algorithms
- Searching