Mastering C++: The Definitive Beyond the Basics Video Series to Applying Intermediate and Advanced C++ Techniques
MP4 | Video: AVC 1280x720 | Audio: AAC 44KHz 2ch | Duration: 8.5 Hours | 1.18 GB
Genre: eLearning | Language: English
MP4 | Video: AVC 1280x720 | Audio: AAC 44KHz 2ch | Duration: 8.5 Hours | 1.18 GB
Genre: eLearning | Language: English
Go beyond the basics in this C++ video series, which guides you through intermediate and advanced functionality spanning these four categories:
Frequently used features including Lambda Expressions, Move Semantics, RAII, and Smart Pointers.
Templates, Generic Programming, and Metaprogramming.
STL Library including STL Containers and STL Algorithms.
Concurrency including Threads, Mutex, and Condition Variables.
This series assumes you know the basics of C++. (If you do not yet know the basics, watch this excellent video on C++ Fundamentals: https://bit.ly/2EJ8GpW) There are 14 video clips in this video series:
Lambda Expressions Part 1. This first clip in the C++ video series introduces lambda expressions and function objects. Lambda naming is discussed in detail, and lambda expressions are contrasted with functions, function objects, and for loops, and you will learn the use cases for each of these valuable tools.
Lambda Expressions Part 2. This second clip in the C++ video series covers the technical details of lambda. Learn about the components of the lambda expression, capture lists, parameter lists, return times, and optional mutable specifiers. We discuss the lifetime of the lambda expression and its impact on the correctness and behavior of the program.
Move Semantics Part 1. This third clip in the C++ video series covers move semantics in detail. Learn all about containers and how move semantics differ from copy semantics. We explore the constructor and assignment implementations. We explain how move semantics are invoked, and when move semantics should be used over copy semantics.
Move Semantics Part 2. This fourth clip in the C++ video series covers rvalue reference in detail. We explain lvalue, rvalue, lvalue, reference, and rvalue reference. We explain the significance of rvalue reference in invoking move semantics, and show how rvalue reference becomes an lvalue. With this knowledge at hand, we complete the case of moving objects that contain object members.
RAII and Smart Pointers. This fifth clip in the C++ video series covers the Resource Acquisition Is Initialization (RAII) mechanism of resource management. Problems with mixing resource management and program logic are highlighted along with RAII-based solutions to such problems. Learn where pointer semantics are necessary and when smart pointers should be used. We show how unique_ptr and shared_ptr can provide the basic facilitation of RAII without separating resource management from program logic.
Templates and Generic Programming Part 1. This sixth clip in the C++ video series explains generic programming and how it differs from type-specific code and meta programming. We explain the role of templates in generic programming. We highlight the two outcomes of generic programming which are templates classes and algorithms. We then program an abstract generic class from a type-specific partial vector implementation to show how we can create templates classes of our own.