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.

Audience

If you want to overcome difficult phases of development with C++ and leverage its features using modern programming practices, then this course is for you. This video course is designed for both experienced C++ programmers and people with some knowledge of OOP concepts.

Table of contents

  1. Chapter 1 : 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
  2. Chapter 2 : Containers
    1. Understanding Containers
    2. Vectors
    3. Standard Array
    4. Lists
    5. Stacks and Queues
    6. Maps and Multimaps - Overview
    7. Maps - Coding
    8. Multimaps - Coding
    9. Sets and Multisets
    10. Project
    11. Review
  3. Chapter 3 : Iterators - Manipulating Data
    1. Iterators
    2. Input Iterators
    3. Output Iterators
    4. Forward Iterators
    5. Bidirectional Iterators
    6. Random Access Iterators
    7. Auxiliary Iterator Functions
    8. Iterator Adaptors
    9. Writing Generic Functions for Iterators
    10. User - Defined Iterators
    11. Project
    12. Review
  4. Chapter 4 : Algorithms - Part One
    1. Introduction to Algorithms
    2. Sequence Algorithms - for_each
    3. Sequence Algorithms - equals
    4. Copying
    5. Moving
    6. Removing
    7. Sorting and Gathering - std::sort
    8. Sorting and Gathering - std::partial_sort algorithm
    9. Sorting and Gathering - std::partition
    10. Sorting and Gathering - std::partition_copy
    11. Searching and Finding - std::find
    12. Sorting and Gathering - std::find_first_of, std::adjacent_find
    13. Sorting and Gathering - std::search
    14. Sorting and Gathering - std::binary_search
    15. Counting
  5. Chapter 5 : Algorithms - Part Two
    1. Replacing and Transforming - std::replace
    2. Replacing and Transforming - std::replace_copy
    3. Replacing and Transforming - equals
    4. Swapping
    5. Rotating
    6. Randomizing
    7. Permutations
    8. Sampling
    9. Min
    10. Max
    11. Clamp
    12. Fill and Generate
    13. Numeric Algorithms - std::accumulate
    14. Numeric Algorithms - std::partial_sum and std::adjacent_difference
    15. Numeric Algorithms - std::gcd, and std::lcm
    16. Numeric Algorithms - std::inner_product and std::iota
    17. Review
  6. Chapter 6 : I/O in C++
    1. Basic Architecture of the I/O Stream Library
    2. Console I/O - Interact with a User
    3. Console I/O - Read Input
    4. File I/O
    5. String Streams
    6. Manipulators and Formatters
    7. Stream States
    8. Low Level I/O
    9. Overloading Stream Operators
    10. Project - Overview
    11. Project - Classes and structures
    12. Project - Implementation
    13. Review
  7. Chapter 7 : Memory
    1. Unique Pointers
    2. Shared Pointers
    3. Allocators
    4. Defining an Allocator
    5. Uninitialized Memory
    6. Review
  8. Chapter 8 : Threading
    1. Introduction to Threading
    2. Creating Threads
    3. Locks
    4. Shared Locks
    5. Atomic Values
    6. Async
    7. Condition Variables
    8. Project
    9. Review
  9. Chapter 9 : C++ 20 Preview
    1. Concepts
    2. Modules
    3. Coroutines
    4. Course Review

Product information

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