C++ Standard Template Library in Practice

Video description

Gain insights into the C++ STL using real-world examples

About This Video

  • Explore the latest C++ as the most important language and library features, including containers, algorithms, regular expressions, threads, and more
  • Learn how to leverage the set of rich, fast, and well-tested utilities and functions provided by the C++ STL
  • Take your development skills to new heights by making your applications fast, robust, and scalable

In Detail

C++ is one of the most widely used programming languages. Fast, efficient, and flexible, it is used to solve many problems. In particular, it is the Standard Template Library (STL) that gives C++ its power. In this course, we show you how.

Using real-world examples, we focus on how STL handles and manipulates data. We examine containers and iterators, and how data can be transformed into meaningful information using algorithms. There is coverage of I/O streams, strings and numerical methods, and how performance can be optimized through careful consideration of memory allocation and manipulation. We also demonstrate how multitasking and shared data is handled through concurrency and parallelism classes and utilities.

By the end of the course, you will understand the newer aspects of C++ STL and will be able to overcome tasks that are time-consuming or would break your stride while developing.

Publisher resources

Download Example Code

Table of contents

  1. Chapter 1 : Introducing the Standard Template Library (STL)
    1. The Course Overview 00:04:48
    2. Introduction to the STL 00:11:46
    3. General Concepts 00:12:01
    4. Utilities - Common Utilities 00:07:08
    5. Utilities - Regex 00:09:54
    6. Project - Bitcoin Exchange Program 00:02:31
    7. Project - Coding 00:05:15
    8. Project - Custom Writer Function 00:04:41
    9. Review 00:00:39
  2. Chapter 2 : Containers
    1. Understanding Containers 00:03:23
    2. Vectors 00:08:15
    3. Standard Array 00:05:46
    4. Lists 00:03:55
    5. Stacks and Queues 00:09:15
    6. Maps and Multimaps - Overview 00:03:33
    7. Maps - Coding 00:07:19
    8. Multimaps - Coding 00:09:21
    9. Sets and Multisets 00:03:17
    10. Project 00:14:08
    11. Review 00:00:34
  3. Chapter 3 : Iterators - Manipulating Data
    1. Iterators 00:09:01
    2. Input Iterators 00:07:02
    3. Output Iterators 00:07:34
    4. Forward Iterators 00:05:48
    5. Bidirectional Iterators 00:06:21
    6. Random Access Iterators 00:04:57
    7. Auxiliary Iterator Functions 00:05:05
    8. Iterator Adaptors 00:08:34
    9. Writing Generic Functions for Iterators 00:05:45
    10. User - Defined Iterators 00:10:34
    11. Project 00:12:56
    12. Review 00:01:51
  4. Chapter 4 : Algorithms - Part One
    1. Introduction to Algorithms 00:04:34
    2. Sequence Algorithms - for_each 00:07:57
    3. Sequence Algorithms - equals 00:06:29
    4. Copying 00:05:58
    5. Moving 00:04:31
    6. Removing 00:04:51
    7. Sorting and Gathering - std::sort 00:07:59
    8. Sorting and Gathering - std::partial_sort algorithm 00:06:23
    9. Sorting and Gathering - std::partition 00:05:48
    10. Sorting and Gathering - std::partition_copy 00:03:00
    11. Searching and Finding - std::find 00:06:04
    12. Sorting and Gathering - std::find_first_of, std::adjacent_find 00:08:51
    13. Sorting and Gathering - std::search 00:05:24
    14. Sorting and Gathering - std::binary_search 00:05:27
    15. Counting 00:03:30
  5. Chapter 5 : Algorithms - Part Two
    1. Replacing and Transforming - std::replace 00:03:10
    2. Replacing and Transforming - std::replace_copy 00:03:31
    3. Replacing and Transforming - equals 00:04:36
    4. Swapping 00:04:12
    5. Rotating 00:02:40
    6. Randomizing 00:06:05
    7. Permutations 00:06:13
    8. Sampling 00:02:37
    9. Min 00:05:41
    10. Max 00:03:14
    11. Clamp 00:05:50
    12. Fill and Generate 00:04:10
    13. Numeric Algorithms - std::accumulate 00:07:26
    14. Numeric Algorithms - std::partial_sum and std::adjacent_difference 00:07:54
    15. Numeric Algorithms - std::gcd, and std::lcm 00:03:43
    16. Numeric Algorithms - std::inner_product and std::iota 00:08:10
    17. Review 00:01:54
  6. Chapter 6 : I/O in C++
    1. Basic Architecture of the I/O Stream Library 00:02:51
    2. Console I/O - Interact with a User 00:08:05
    3. Console I/O - Read Input 00:04:16
    4. File I/O 00:07:21
    5. String Streams 00:07:12
    6. Manipulators and Formatters 00:09:21
    7. Stream States 00:05:21
    8. Low Level I/O 00:08:28
    9. Overloading Stream Operators 00:05:21
    10. Project - Overview 00:11:17
    11. Project - Classes and structures 00:16:20
    12. Project - Implementation 00:13:28
    13. Review 00:01:48
  7. Chapter 7 : Memory
    1. Unique Pointers 00:05:31
    2. Shared Pointers 00:07:05
    3. Allocators 00:07:32
    4. Defining an Allocator 00:09:16
    5. Uninitialized Memory 00:07:02
    6. Review 00:01:16
  8. Chapter 8 : Threading
    1. Introduction to Threading 00:03:43
    2. Creating Threads 00:09:36
    3. Locks 00:06:21
    4. Shared Locks 00:08:18
    5. Atomic Values 00:05:10
    6. Async 00:07:39
    7. Condition Variables 00:08:47
    8. Project 00:21:48
    9. Review 00:01:49
  9. Chapter 9 : C++ 20 Preview
    1. Concepts 00:09:42
    2. Modules 00:09:44
    3. Coroutines 00:06:48
    4. Course Review 00:05:33

Product information

  • Title: C++ Standard Template Library in Practice
  • Author(s): James Slocum
  • Release date: October 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781788834995