The C++ Programming Language
4.0
(5)
38 learners
What you'll learn
This course includes
- 68.3 hours of video
- Certificate of completion
- Access on mobile and TV
Course content
1 modules • 247 lessons • 68.3 hours of video
The C++ Programming Language
247 lessons
• 68.3 hours
The C++ Programming Language
247 lessons
• 68.3 hours
- C++ Video Series Introduction | Modern Cpp Series Ep. 1 02:39
- C++ Workflow in a Compiled Language | Modern Cpp Series Ep. 2 05:07
- [Setup Video] Linux Setting up C++ | Modern Cpp Series Ep. 3 04:54
- [Setup Video] Setting up C++ on Mac (Shown on Apple M1) | Modern Cpp Series Ep. 4 05:44
- [Setup Video] Visual Studio Setup for C++ | Modern Cpp Series Ep. 5 09:32
- Hello World in C++ | Modern Cpp Series Ep. 6 07:18
- [Advice] Making mistakes, make small changes when learning | Modern Cpp Series Ep. 7 03:42
- [Info] A quick tour of the different versions of C++ | Modern Cpp Series Ep. 8 04:02
- [Info/Advice] C++ Websites to help you while learning | Modern Cpp Series Ep. 9 04:15
- C++ Primitive Data Types | Modern Cpp Series Ep. 10 12:41
- const in C++ - The first use | Modern Cpp Series Ep. 11 06:59
- C++ Block Scope | Modern Cpp Series Ep. 12 08:34
- Raw Arrays and std::array in C++ | Modern Cpp Series Ep. 13 14:09
- For-loop, ranged based for-loop, while, do-while, and std::fill | Modern Cpp Series Ep. 14 15:03
- continue and break | Modern cpp Series Ep. 15 04:35
- Writing Functions in C++ | Modern Cpp Series Ep. 16 14:26
- Recursive Functions in C++ | Modern Cpp Series Ep. 17 04:51
- Address of operator & | Modern Cpp Series Ep. 18 11:17
- C++ Functions - Understanding Pass by Value Semantics | Modern Cpp Series Ep. 19 10:43
- References in C++ (Another use of the & symbol) | Modern Cpp Series Ep. 20 08:20
- C++ Functions - Understand Pass by Reference (&) Semantics | Modern Cpp Series Ep. 21 11:22
- Functions in C++ with const parameters and why (bonus std::is_const) | Modern Cpp Series Ep. 22 06:19
- What is a pointer, dereferencing, and the point of pointers? | Modern Cpp Series Ep. 23 11:50
- Check Your Understanding: Dereferencing a pointer | Modern Cpp Series Ep. 24 06:25
- Dynamic Memory allocation with new and delete (and delete[]) | Modern Cpp Series Ep. 25 15:07
- Pointer Arithmetic, Array Offsets, and exposing how brackets dereference | Modern Cpp Series Ep. 26 11:35
- Misunderstanding the use of sizeof | Modern Cpp Series Ep. 27 06:26
- Passing arrays into functions(array decay to pointer)- prefer std::vector | Modern Cpp Series Ep. 28 11:48
- Pitfalls of Pointers (and using address sanitizer and gdb to find them) | Modern Cpp Series Ep. 29 11:45
- Function pointers, typedef a function pointer, and std::function | Modern Cpp Series Ep. 30 10:29
- lvalue, rvalue, lvalue references and an intro to rvalue references | Modern Cpp Series Ep. 31 30:10
- Introduction to std::move in C++ | Modern Cpp Series Ep. 32 10:03
- std::unique_ptr - A scoped smart pointer | Modern Cpp Series Ep. 33 20:48
- std::shared_ptr - A reference counted smart pointer | Modern Cpp Series Ep. 34 14:29
- std::weak_ptr - A non-owning smart pointer | Modern Cpp Series Ep. 35 13:08
- Interface (.hpp) versus implementation (.cpp) files (and why they exist) | Modern Cpp Series Ep. 36 18:37
- C++ Classes part 1 - Introduction to C++ class | Modern Cpp Series Ep. 37 29:09
- C++ Classes part 2 - Default Constructor, default destructor, and more! | Modern Cpp Series Ep. 38 11:05
- Classes part 3 - Copy Constructor, Copy Assignment(Deep and Shallow Copy) | Modern Cpp Series Ep. 39 33:13
- Classes part 4 - The Rule of 3 (and the lesser known Law of the Big Two) | Modern Cpp Series Ep. 40 12:37
- Classes part 5 - Avoiding copies(Delete, copy ctor and pass by ref) | Modern Cpp Series Ep. 41 12:42
- Classes part 6 - Operator overloading | Modern Cpp Series Ep. 42 31:18
- Classes part 7 - Member Initializer Lists | Modern Cpp Series Ep. 43 11:20
- Classes part 8 - Structs in C++ | Modern Cpp Series Ep. 44 05:53
- Classes part 9 - Resource Acquisition is Initialization (RAII) Ep. 45 16:08
- Classes part 10 - Rule of Five - Have fun reducing memory allocations! | Modern Cpp Series Ep. 46 24:43
- Classes part 11 - friend functions (and why you should probably avoid) | Modern Cpp Series Ep. 47 12:54
- Classes part 12-Explicit ctor and list initialization to avoid conversions| Modern Cpp Series Ep. 48 07:11
- Classes part 13 - Introduction to Inheritance | Modern Cpp Series Ep. 49 14:13
- Classes part 14 - Inheritance - public, private, protected access levels | Modern Cpp Series Ep. 50 14:22
- Classes part 15 - Inheritance calling different constructors | Modern Cpp Series Ep. 51 11:21
- Classes part 16 - Virtual Functions (Dynamic dispatch) | Modern Cpp Series Ep. 52 12:03
- Classes part 17 - Virtual Destructors (Make base class destructor virtual)| Modern Cpp Series Ep. 53 09:21
- Classes part 18 - Understanding the vtable (Popular interview question) | Modern Cpp Series Ep. 54 09:38
- Classes part 19 - Interfaces in C++ (Pure virtual functions) | Modern Cpp Series Ep. 55 13:49
- Classes part 20 - CAUTION Multiple Inheritance (and example of using it) | Modern Cpp Series Ep. 56 14:27
- cppman | Modern Cpp Series Ep. 57 05:55
- Classes part 21 - ‘const correctness' with member functions | Modern Cpp Series Ep. 58 11:06
- Classes Part 22 - Curly brace versus parenthesis and std::initializer_list| Modern cpp Series Ep. 59 15:53
- Classes part 23 - Composition (and aggregation) versus Inheritance in C++ | Modern Cpp Series Ep. 60 10:13
- Classes part 24 - Multiple Inheritance Revisited (Virtual inheritance) | Modern Cpp Series Ep. 61 14:58
- Classes part 25 - Classes Practice Interview -- Jeopardy Edition | Modern Cpp Series Ep. 62 33:23
- Classes Part 26 - Value Initialization (Zero-Initialization of Members) | Modern Cpp Series Ep. 63 11:34
- Classes Part 27 - In-Class Initializer | Modern Cpp Series Ep. 64 06:45
- Classes Part 28 - Delegating Constructors - Avoiding Repeating yourself Ep. 65 13:15
- Classes Part 29 - Class Data Layout (Optimizing for size) | Modern Cpp Series Ep. 66 12:50
- Classes Part 30 - pIMPL (pointer to implementation) - More Stable APIs| Modern Cpp Series Ep. 67 12:41
- Classes Part 31 - The ‘this’ keyword - Modern Cpp Series Ep. 68 09:50
- The ‘static’ keyword - understanding static vs stack vs heap memory - Modern Cpp Series Ep. 69 13:14
- Classes Part 32 - static member variables and functions in classes - Modern Cpp Series Ep. 70 18:20
- Generics in C++ 1 - Templates Introduction | Modern Cpp Series Ep. 71 11:16
- Generics in C++ 2 - Template Functions (Abbreviated function templates) | Modern Cpp Series Ep. 72 14:05
- Generics in C++ 3 - Multiple Template parameters, non object-type params | Modern Cpp Series Ep. 73 08:12
- Generics in C++ 4 - Template Functions Full and Partial Specialization | Modern Cpp Series Ep. 74 10:21
- Generics in C++ 5 - Variadic arguments and Variadic Function Templates | Modern Cpp Series Ep. 75 15:02
- Generics in C++ 6 - Improving our Function Template (Review) | Modern Cpp Series Ep. 76 11:19
- Generics in C++ 7 - Template Classes Introduction | Modern Cpp Series Ep. 77 09:52
- Generics in C++ 8 - Template Classes with Static Data Members | Modern Cpp Series Ep. 78 11:05
- Generics in C++ 9 - Class Template Argument Deduction (CTAD) | Modern Cpp Series Ep. 79 05:59
- Use -Weffc++ with g++ to write effective modern C++ | Modern Cpp Series Ep. 80 02:45
- Generics in C++ 10 - Templates Class default parameters | Modern Cpp Series Ep. 81 06:45
- Revisiting std::unique_ptr and Custom Deleters | Modern Cpp Series Ep. 82 07:29
- Unions | Modern Cpp Series Ep. 83 13:59
- std::variant (tagged unions, write safer code) | Modern Cpp Series Ep. 84 13:36
- A brief look at c++ code style guides | Modern Cpp series Ep. 85 05:49
- Introduction to constexpr | Modern Cpp Series Ep. 86 10:56
- Write secure code with assertions (assert and static_assert) | Modern Cpp Series Ep. 87 10:59
- auto in Modern C++ | Modern Cpp Series Ep. 88 10:20
- Circle, Carbon, Cppfront, Val, DLang oh my! (Language Evolution) | Modern Cpp Series Ep. 89 14:38
- API Design - Two Tips: pimpl idiom and ‘struct Options’ | Modern Cpp Series Ep. 90 07:08
- C++ Casting - Part 1 - Types, conversions, and C-style casts | Modern Cpp Series Ep. 91 13:03
- C++ Casting - Part 2 - What could go wrong? Use -Wall cmp_greater (C++20) | Modern Cpp Series Ep. 92 06:34
- C++ Integer and floating suffixes and using the single quote for clarity | Modern Cpp Series Ep. 93 06:27
- C++ Casting - Part 3 - static_cast and dynamic_cast (mega lesson) | Modern Cpp Series Ep. 94 31:45
- C++ Casting - Part 4 - static_cast vs dynamic_cast (Interview Question) Ep. 95 16:40
- C++ Conference Talks - Feed Your YouTube Algorithm more C++ | Modern Cpp Series Ep. 96 10:26
- C++ Casting - Part 5 - reinterpret_cast | Modern Cpp Series Ep. 97 16:19
- Classes Part 33 - Nested Classes | Modern Cpp Series Ep. 98 09:44
- Functors() - Function objects - functions with state | Modern Cpp Series Ep. 99 22:23
- C++ Lambdas Part 1 - Unnamed function objects (closures) in C++ | Modern Cpp Series Ep. 100!!! 15:22
- Classes Part 34 - mutable keyword to override const and the M&M rule| Modern cpp series Ep. 101 05:57
- C++ Lambdas Part 2 - ‘The capture’ | Modern cpp series Ep. 102 20:26
- C++ Lambdas Part 3 - Capturing ‘this’ (Using lambda’s in member functions)|Modern cpp Series Ep. 103 08:35
- C++ Handling Program arguments (argc, argv, env) | Modern Cpp Series Ep. 104 13:53
- The ‘using’ keyword (using namespace and alias declarations) | Modern Cpp Series Ep. 105 14:06
- C++ Book Recommendations | Modern Cpp Series Ep. 106 06:04
- C++ Macros, defines, __LINE__, and std::source_location (C++ 20) | Modern Cpp Series Ep. 107 23:47
- Functions with default arguments | Modern Cpp Series Ep. 108 06:23
- Function Inlining in C++ | Modern Cpp Series Ep. 109 13:00
- inline variables (C++ 17 and beyond) | Modern Cpp Series Ep. 110 12:00
- Standard Template Library (STL) Short Overview | Modern Cpp Series Ep. 111 11:26
- STL std::string, char*, const char*, and string literals in C++ | Modern Cpp Series Ep. 112 27:55
- STL std::string_view and when to use it versus std::string | Modern Cpp Series Ep. 113 16:46
- STL std::array (Since C++11) | Modern Cpp Series Ep. 114 23:50
- STL std::span | Modern Cpp Series Ep. 115 16:03
- STL std::vector | Modern Cpp Series Ep. 116 31:01
- Commenting the 'why' in your C++ code | Modern Cpp Series Ep. 117 13:02
- STL std::list | Modern Cpp Series Ep. 118 33:48
- STL std::forward_list | Modern Cpp Series Ep. 119 29:09
- STL std::deque | Modern Cpp Series Ep. 120 28:43
- STL std::set | Modern Cpp Series Ep. 121 24:15
- STL std::unordered_set (std::algorithm generate_n for creation of sets) | Modern Cpp Series Ep. 122 27:19
- STL std::multiset (And how to compare non-trivial types) | Modern Cpp Series Ep. 123 15:38
- STL std::unordered_multiset( C++11) (and custom hash function) | Modern Cpp Series Ep. 124 15:25
- STL std::pair (and also a peek at std::ref and std::get) | Modern Cpp Series Ep. 125 17:41
- STL std::map | Modern Cpp Series Ep. 126 36:13
- [News] Upcoming C++ Conferences for 2023 | Modern C++ Series Ep. 127 08:38
- STL std::multimap (ordered, stable, multiple keys -trick with equal_range)|Modern Cpp Series Ep. 128 31:33
- STL std::unordered_map (C++11) | Modern Cpp Series Ep. 129 40:42
- STL std::unordered_multimap (C++11) | Modern Cpp Series Ep. 130 19:25
- C++ STL std::stack (a container adaptor) | Modern Cpp Series Ep. 131 23:14
- C++ STL std::queue a container adaptor | Modern Cpp Series Ep. 132 13:18
- C++ STL std::priority_queue (a container adaptor) | Modern Cpp Series Ep. 133 21:21
- STL C++ Container High Level Review | Modern Cpp Series Ep. 134 22:25
- STL C++ Iterators - Introduction | Modern Cpp Series Ep. 135 22:17
- STL C++ Iterators - Categories | Modern Cpp Series Ep. 136 14:58
- STL C++ Iterators - Range Access (non-member functions-begin,cbegin,etc) | Modern Cpp Series Ep. 137 11:34
- STL C++ Iterators - Writing an iterator from scratch | Modern Cpp Series Ep. 138 41:29
- STL C++ Iterators - Writing an iterator from scratch (Code Review) | Modern Cpp Series Ep. 139 18:16
- STL C++ Iterators - Iterator Invalidation | Modern Cpp Series Ep. 140 21:37
- C++ STL algorithm - Brief Introduction | Modern Cpp Series Ep. 141 10:40
- C++ STL algorithm - generic design and advice on using member functions | Modern Cpp Series Ep. 142 10:22
- C++ STL algorithm - search (find, find_if, search, adjacent_find) | Modern Cpp Series Ep. 143 30:20
- C++ STL algorithm - std::mismatch | Modern Cpp Series Ep. 144 15:35
- C++ STL algorithm - comparison with std::equal | Modern Cpp Series Ep. 145 16:40
- C++ STL algorithm - comparison with std::lexicographical_compare | Modern Cpp Series Ep. 146 12:24
- C++ STL algorithm - counting (all_of, any_of, none_of)| Modern Cpp Series Ep. 147 08:32
- C++ STL algorithm - counting (count, count_if)| Modern Cpp Series Ep. 148 16:56
- C++ STL algorithm - std::copy | Modern Cpp Series Ep. 149 18:13
- C++ STL algorithm - std::copy_if and std::copy_n | Modern Cpp Series Ep. 150 12:28
- C++ STL algorithm - std::fill and fill_n | Modern Cpp Series Ep. 151 13:17
- C++ STL algorithm - std::generate and generate_n | Modern Cpp Series Ep. 152 13:54
- C++ STL algorithm - std::reverse and reverse_copy | Modern Cpp Series Ep. 153 22:11
- C++ STL algorithm - erase-remove idiom -- std::remove(_if, _copy_if) | Modern Cpp Series Ep. 154 36:45
- Easier removal with container std::erase(non-member function)and erase_if| Modern Cpp Series Ep. 155 14:44
- C++ STL algorithm - sample algorithm| Modern Cpp Series Ep. 156 12:35
- C++ STL algorithm - rotate algorithm | Modern Cpp Series Ep. 157 19:33
- cppman - round 2! (in 2023) | Modern Cpp Series Ep. 158 08:02
- C++ STL algorithm - shuffle algorithm | Modern Cpp Series Ep. 159 18:45
- C++ STL algorithm - unique and unique_copy algorithm | Modern Cpp Series Ep. 160 22:34
- C++ STL algorithm - transform algorithm | Modern Cpp Series Ep. 161 12:47
- C++ STL algorithm - std::partition, std::is_partitioned | Modern Cpp Series Ep. 162 18:30
- C++ STL algorithm - std::partition_point, std::partition_copy | Modern Cpp Series Ep. 163 27:58
- C++ STL algorithm - stable_sort, sort | Modern Cpp Series Ep. 164 20:43
- C++ STL algorithm - is_sorted, is_sorted_until | Modern Cpp Series Ep. 165 12:26
- C++ STL algorithm - nth_element and partial_sort()(median filter use case)|Modern Cpp Series Ep. 166 18:13
- C++ STL algorithm - std::inplace_merge, std::merge | Modern Cpp Series Ep. 167 21:47
- C++ STL algorithm - lower_bound, upper_bound, binary_search | Modern Cpp Series Ep. 168 22:04
- C++ STL algorithm - includes (for finding subsequences) | Modern Cpp Series Ep. 169 15:55
- C++ STL algorithm - set_union, set_intersection | Modern Cpp Series Ep. 170 13:29
- C++ STL algorithm - set_difference, set_symmetric_difference | Modern Cpp Series Ep. 171 13:10
- C++ STL algorithm - make_heap, pop_heap, sort_heap | Modern Cpp Series Ep. 172 30:59
- C++ STL algorithm - min, max | Modern Cpp Series Ep. 173 19:26
- C++ STL algorithm - min_element, max_element | Modern Cpp Series Ep. 174 15:01
- C++ STL algorithm minmax, minmax element | Modern Cpp Series Ep. 175 17:22
- C++ STL algorithm - std::clamp | Modern Cpp Series Ep. 176 18:23
- C++ STL numeric - std::midpoint -- Interview Question! | Modern Cpp Series Ep. 177 16:33
- C++ STL numeric - std::lerp | Modern Cpp Series Ep. 178 16:09
- C++ STL numeric - std::iota | Modern Cpp Series Ep. 179 09:14
- C++ STL numeric - adjacent_difference | Modern Cpp Series Ep. 180 14:25
- C++ STL numeric - partial_sum | Modern Cpp Series Ep. 181 13:38
- C++ STL numeric - inner_product (map reduce)| Modern Cpp Series Ep. 182 25:45
- C++ STL numeric - std::accumulate (fold) | Modern Cpp Series Ep. 183 15:50
- C++ STL numeric - reduce (parallel fold) | Modern Cpp Series Ep. 184 11:24
- C++ STL numeric - transform_reduce | Modern Cpp Series Ep. 185 13:49
- C++ STL numeric - exclusive_scan, inclusive_scan | Modern Cpp Series Ep. 186 19:35
- std::format Introduction (C++20) - C++ Utilities | Modern Cpp Series Ep. 187 42:21
- std::format with STL Containers - C++ Utilities | Modern Cpp Series Ep. 188 07:05
- std::formatter for Custom Types with std::format (C++20) - C++ Utilities | Modern Cpp Series Ep. 189 28:52
- std::print - Print formatted text!(C++23) - C++ I/O | Modern Cpp Series Ep. 190 10:03
- std::cout - Stream-Based I/O part 1 of n - Modern Cpp Series Ep. 191 21:32
- cerr and clog (buffered vs unbuffered) - Stream-Based IO part 2 of n - Modern Cpp Series Ep. 192 16:36
- std::ostream member functions - Stream-Based I/O part 3 of n - Modern Cpp Series Ep. 193 17:17
- std::cin - Stream-Based I/O part 4 of n - Modern Cpp Series Ep. 194 16:26
- Creating a new file in C++ (& appending) - Stream-Based I/O part 5 of n - Modern Cpp Series Ep. 195 29:17
- Reading a file in C++ - Stream-Based I/O part 6 of n - Modern Cpp Series Ep. 196 22:39
- Read and Write Binary Data in C++ - Stream-Based I/O part 7 of n - Modern Cpp Series Ep. 197 33:57
- Serialize and Deserialize a struct in C++ - Stream-Based I/O part 8 of n- Modern Cpp Series Ep. 198 29:37
- Stringstreams (sstream) - Stream-Based I/O part 9 of n - Modern Cpp Series Ep. 199 29:28
- C++ Episode 200 Looking back and the future! | Modern Cpp Series Ep. 200 12:46
- C++ Raw String Literals | Modern Cpp Series Ep. 201 09:44
- to_string and stoi | Modern Cpp Series Ep. 202 22:29
- C++ Conversion operators (Live Code Exploration - Control how you cast) | Modern Cpp Series Ep. 203 32:01
- C++ STL - swap and iter_swap | Modern Cpp Series Ep. 204 11:12
- consteval - must compute at compile-time | Modern Cpp Series Ep. 205 17:04
- constinit - variable must be initialized at compile-time | Modern Cpp Series Ep. 206 17:27
- Fixed-width data types (e.g. uint8_t, uint16_t, etc.) | Modern Cpp Series Ep. 207 13:29
- C++ Basic Bit Introduction Manipulation (Old C-Style) | Modern Cpp Series Ep. 208 22:39
- C++ STL std::bitset Improved bit Manipulation | Modern Cpp Series Ep. 209 14:12
- C++ STL numeric Bit Manipulation Operations/Algorithms | Modern Cpp Series Ep. 210 19:01
- C++ Casting - Part 7 - Type Punning | Modern Cpp Series Ep. 211 15:41
- C++ Casting Exercise - Print a double to binary | Modern Cpp Series Ep. 212 10:40
- C++ Casting - Part 8 - bit_cast | Modern Cpp Series Ep. 213 13:04
- C++ templates (if constexpr, type_traits) and preferring free functions | Modern Cpp Series Ep. 214 19:33
- SFINAE "Substitution Failure Is Not An Error" | Modern Cpp Series Ep 215 15:12
- C++ 20 Concepts Introduction - Part 1 of n | Modern Cpp Series | Modern Cpp Series Ep. 216 19:40
- C++ 20 Concepts - Write your first custom concept - Part 2 of n | Modern Cpp Series Ep. 217 10:43
- C++ 20 Concepts - concept for optimization (ref vs value) - Part 3 of n | Modern Cpp Series Ep. 218 12:52
- C++ 20 Concepts - Check if member exists and T::value_type - Part 4 of n | Modern Cpp Series Ep. 219 13:00
- C++ 20 Concepts - Programming Challenge - Part 5 of n | Modern Cpp Series Ep. 220 08:52
- Template Metaprogramming - Type traits - part 1 of n | Modern Cpp Series Ep. 221 17:07
- Template Metaprogramming - enable_if- part 2 of n | Modern Cpp Series Ep. 222 32:13
- Template Metaprogramming - if constexpr - part 3 of n | Modern Cpp Series Ep. 223 16:42
- C++ 20 Concepts - concepts with if constexpr - Part 6 of n | Modern Cpp Series Ep. 224 19:25
- C++ Perfect Forwarding / Universal References (Generics) | Modern Cpp Series Ep. 225 34:51
- C++ Ranges (Part 1 of n) - Problems they solve (sort, ranges::for_each) | Modern Cpp Series Ep. 226 19:54
- C++ Ranges (Part 2 of n) - Parts of a range (ranges::sort and stable_sort) | Modern Cpp Ep. 227 31:48
- C++ Ranges (Part 3 of n) - views and adaptors (lazy evaluation, ranges::to)| Modern Cpp Ep. 228 30:43
- C++ Ranges (Part 4 of n) - transform and drop_while | Modern Cpp Series Ep. 229 14:34
- C++ Ranges (Part 5 of n) - std::views::keys, values, std::views::elements| Modern Cpp Series Ep. 230 24:00
- C++ Ranges (Part 6 of n) - std::views::cartesian_product, views::take | Modern Cpp Series Ep. 231 23:05
- C++ Zero-Overhead Principle | Modern Cpp Series Ep. 232 08:43
- C++ Safety part 1 of n - Language Level Safety| Modern Cpp Series Ep. 233 23:47
- C++ Safety part 2 of n - Attributes | Modern Cpp Series Ep. 234 14:06
- Concept-Based Generic Programming by Bjarne Stroustrup | Modern Cpp Series Ep. 235 01:21:29
- C++ Safety part 3 of n - explicit over converting ctor, and prefer {} | Modern Cpp Series Ep. 236 15:39
- C++ Exceptions introduction - run-time errors - C++ Safety part 4 of n | Modern Cpp Series Ep. 237 22:44
- C++ Exceptions and RAII - C++ Safety part 5 of n | Modern Cpp Series Ep. 238 24:23
- C++ Exceptions Stack Unwinding (GDB debug Demo) - C++ Safety part 6 of n | Modern Cpp Series Ep. 239 17:45
- Why some people hate C++ Exceptions - C++ Safety part 7 of n | Modern Cpp Series Ep. 240 17:23
- Exceptions in a real world codebase (OGRE 3D) - C++ Safety part 8 of n | Modern Cpp Series Ep. 241 23:41
- std::stacktrace (C++23) -- C++ Safety part 9 of n | Modern Cpp Series Ep. 242 13:02
- Try blocks on functions - C++ Safety part 10 of n | Modern Cpp Series Ep. 243 05:14
- Creating our own std::exception - C++ Safety part 11 of n | Modern Cpp Series Ep. 244 25:56
- Generics in C++ - part 11 of n - Fold Expressions and Packs| Modern Cpp Series Ep. 245 19:46
- Error Codes Exploration in C++ | Modern Cpp Series Ep. 246 34:50
- std::optional (and monadic operations in C++23) | Modern Cpp Series Ep. 247 41:27
