C++ Standard Template Library in Practice: Use the C++ STL to create fast, efficient, and flexible apps

C++ Standard Template Library in Practice: Use the C++ STL to create fast, efficient, and flexible apps

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 10h 24m | 3.65 GB

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

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.

Learn

  • Efficient and effective ways to store data using STL containers
  • Manage application performance using STL memory allocation classes, and enhance these classes by developing your allocation routines
  • How data is structured and how the structure can be traversed using iterators
  • How algorithms are used to transform data into useful and meaningful information
  • Multitasking and managing shared data using concurrency and parallelism
  • Managing input and output (I/O) using streams and the role of stream buffers
  • How the STL has standardized common tasks
Table of Contents

Introducing the Standard Template Library (STL)
1 The Course Overview
2 Introduction to the STL
3 General Concepts
4 Utilities – Common Utilities
5 Utilities – Regex
6 Project – Bitcoin Exchange Program
7 Project – Coding
8 Project – Custom Writer Function
9 Review

Containers
10 Understanding Containers
11 Vectors
12 Standard Array
13 Lists
14 Stacks and Queues
15 Maps and Multimaps – Overview
16 Maps – Coding
17 Multimaps – Coding
18 Sets and Multisets
19 Project
20 Review

Iterators – Manipulating Data
21 Iterators
22 Input Iterators
23 Output Iterators
24 Forward Iterators
25 Bidirectional Iterators
26 Random Access Iterators
27 Auxiliary Iterator Functions
28 Iterator Adaptors
29 Writing Generic Functions for Iterators
30 User – Defined Iterators
31 Project
32 Review

Algorithms – Part One
33 Introduction to Algorithms
34 Sequence Algorithms – for each
35 Sequence Algorithms – equals
36 Copying
37 Moving
38 Removing
39 Sorting and Gathering – std – -sort
40 Sorting and Gathering – std – -partial sort algorithm
41 Sorting and Gathering – std – -partition
42 Sorting and Gathering – std – -partition copy
43 Searching and Finding – std – -find
44 Sorting and Gathering – std – -find first of, std – -adjacent find
45 Sorting and Gathering – std – -search
46 Sorting and Gathering – std – -binary search
47 Counting

Algorithms – Part Two
48 Replacing and Transforming – std – -replace
49 Replacing and Transforming – std – -replace copy
50 Replacing and Transforming – equals
51 Swapping
52 Rotating
53 Randomizing
54 Permutations
55 Sampling
56 Min
57 Max
58 Clamp
59 Fill and Generate
60 Numeric Algorithms – std – -accumulate
61 Numeric Algorithms – std – -partial sum and std – -adjacent difference
62 Numeric Algorithms – std – -gcd, and std – -lcm
63 Numeric Algorithms – std – -inner product and std – -iota
64 Review

I O in C++
65 Basic Architecture of the I O Stream Library
66 Console I O – Interact with a User
67 Console I O – Read Input
68 File I O
69 String Streams
70 Manipulators and Formatters
71 Stream States
72 Low Level I O
73 Overloading Stream Operators
74 Project – Overview
75 Project – Classes and structures
76 Project – Implementation
77 Review

Memory
78 Unique Pointers
79 Shared Pointers
80 Allocators
81 Defining an Allocator
82 Uninitialized Memory
83 Review

Threading
84 Introduction to Threading
85 Creating Threads
86 Locks
87 Shared Locks
88 Atomic Values
89 Async
90 Condition Variables
91 Project
92 Review

C++ 20 Preview
93 Concepts
94 Modules
95 Coroutines
96 Course Review