The 2023 Premium C Programming Developer Bundle
What's Included

Complete Modern C++

- Experience level required: All levels
- Access 198 lectures & 19 hours of content 24/7
- Length of time users can access this course: Lifetime
Course Curriculum
198 Lessons (19h)
Your First Program
Start Here
Introduction3:01Visual Studio 2015 Installation4:32Visual Studio 2017 Installation2:44Blocks Installation5:06Cevelop Installation5:22XCode Installation on MacOS3:28Basic Language Facilities
What is C++?3:31First C++ Program9:12The C++ Compilation Process3:09Primitive Types and Variables7:57Basic Input/Output5:56Functions Basics - Part I7:28Functions Basics - Part II9:05Overview of Debugging in Visual Studio5:40Uniform Initialization (C++11)9:21Pointers8:25Reference5:32Reference Versus Pointer6:58The const Qualifier4:19const Qualifier and Compound Types7:30Automatic Type Inference (C++11)7:00Range-Based For Loop - I (C++11)4:32Range-Based For Loop - II (C++11)6:12Function Overloading13:27Default Function Arguments3:43Inline Functions7:36Function Pointers4:53Namespace9:24Memory Management – Part I
Dynamic Memory Allocation - Part I (malloc Function)9:36Dynamic Memory Allocation - Part II (new Operator)6:19Dynamic Memory Allocation - Part III (new[] Operator)6:40Dynamic Memory Allocation - Part IV (2D Arrays)5:07Classes and Objects
Object-Oriented Programming Basics5:50Class5:31Constructor and Destructor4:28Structures2:38Non-Static Data Member Initializers (C++11)4:39this Pointer4:46Constant Member Functions3:14Static Class Members5:12Copy Constructor - Part I4:52Copy Constructor - Part II4:40Delegating Constructors (C++11)4:01Default and Deleted Functions (C++11)5:18L-values, R-values, and R-value References (C++11)7:10Move Semantics - Basics (C++11)3:23Move Semantics - Implementation (C++11)4:19Copy Elision8:26Move Semantics - std::move Function (C++11)2:55Move Semantics
Value Categories7:10Move Semantics – Basics3:23Move Semantics – Implementation3:45Rule of 5 and 014:30Copy Elision8:22std::move Function7:52Operator Overloading
Operator Overloading - Part I (Basics)8:29Operator Overloading - Part II (Assignment Operator)4:18Operator Overloading - Part III (Global Overloads)5:48Operator Overloading - Part IV (Friend Keyword)2:29Operator Overloading - Part V (Smart Pointer Basics)5:04Operator Overloading - Part VI (Smart Pointers in C++11)4:34Operator Overloading - Part VII (Rules)1:55Type Conversions - Part I (Basics)5:56Type Conversions - Part II (Primitive to User Type)5:40Type Conversions - Part III (User to Primitive Type)2:50Initialization Versus Assignment and Member Initialization List5:18Memory Management – Part II
Raw Pointers5:12std::unique_ptr10:13Sharing Pointers6:12Sharing std::unique_ptr4:35std::shared_ptr5:21Weak Ownership8:50std::weak_ptr Internals6:28Circular References10:28Deleter7:07Dynamic Arrays3:27Make Functions5:43More C++ Goodies
Enums - Part I (Basics)3:42Enums - Part II (Scoped Enums C++11)5:32Strings - Part I (Raw Strings)6:49Strings - Part II (std::string)10:05Strings - Part III (String Streams)9:45Constant Expressions - constexpr (C++11)9:24std::initializer_list (C++11)8:27Dynamic Array (std::vector)8:43Union - I4:51Union - II4:56Object-Oriented Programming
Inheritance and Composition6:01Inheritance and Access Modifiers3:55Project - Part I (Beginning)2:06Project - Part II (Account and Savings Implementation)6:59Project - Part III (Inheriting Constructors)6:31Project - Part IV (Virtual Keyword)8:53Project - Part V (Virtual Mechanism Internals)7:11Project - Part VI (Virtual Mechanism Walk-through and Virtual Destructor)6:43Project - Part VII (override and final specifier)6:13Project - Part VIII (Upcasting and Downcasting)5:45Project - Part IX (RTTI Basics)7:11Project – Part X (dynamic_cast)6:08Abstract Class6:03Multiple (Diamond) Inheritance9:22Exception Handling
Exception Handling - Part I (Basics)7:59Exception Handling - Part II (Multiple Catch Blocks)3:59Exception Handling - Part III (Stack Unwinding)6:31Exception Handling - Part IV (Nested Exceptions)5:11Exception Handling - Part V (Constructor and Destructor)7:06Exception Handling - Part VI - (noexcept Keyword in C++11)8:20File Input and Output
Raw String Literals (C++11)4:03Introduction to Filesystem Library (C++17)3:49File IO - Part I (Basics)6:44File IO - Part II (Error Handling)5:43File IO - Part III (Copy Utility)3:29File IO - Part IV (Character IO and Seeking)7:22File IO - Part V (Binary IO)8:30Templates
Introduction to Templates7:48Template Argument Deduction and Instantiation6:28Explicit Specialization5:54Non-type Template Arguments7:15Perfect Forwarding - Part I (C++11)7:23Perfect Forwarding - Part II (C++11)5:32Variadic Templates - Part I (C++11)9:47Variadic Templates - Part II (C++11)4:50Class Templates8:34Class Template Explicit Specialization - Part I5:41Class Template Explicit Specialization - Part II4:02Class Template Partial Specialization6:52Typedef, Type Alias, and Alias Templates (C++11)8:00Type Traits (C++11)7:21static_assert (C++11)4:19Lambda Expressions (C++11)
Callbacks Revisited - Function Pointers6:39Callbacks - Function Objects6:57Lambda Expressions4:36Lambda Expressions - Internals5:01Lambda Expressions Capture List - Part I8:25Lambda Expressions Capture List - Part II4:08Lambda Expressions Capture List - Part III5:52Generalized Lambda Capture4:33Standard Template Library
Introduction2:50std::array (C++11)4:02std::vector4:38std::deque2:21std::list and std::forward_list (C++11)4:59std::set and std::multiset5:42std::map and std::multimap7:35Unordered Containers (C++11)8:01std::hash (C++11)2:42Big O Notation and Performance of Containers5:04Algorithms - Part I8:15Algorithms - Part II7:04C++ Concurrency
Concurrency Basics6:12Thread Creation (std::thread)5:47Passing Arguments to Threads4:18Thread Synchronization (std::mutex)6:18std::lock_guard2:45std::thread Functions and std::this_thread Namespace7:48Task-Based Concurrency - Part I5:07Task-Based Concurrency - Part II3:44Launch Policies4:38std::future Wait Functions5:07Using std::promise5:36Propagating Exceptions Across Threads3:15C++17 Core Language Features
Deprecated and Removed Features3:53Changes3:12Attributes5:58Feature Test Macros5:51If and switch with Initialization5:47Inline Variables5:45Nested Namespaces1:51noexcept3:35constexpr Lambda7:47Structured Bindings8:07Expression Evaluation Order6:36Mandatory Copy Elision - I4:28Mandatory Copy Elision - II4:33C++17 Template Features
Compiled Time Argument Deduction (CTAD)5:41Folding Basics4:05Fold Expressions - Unary Folds4:27Fold Expressions - Binary Folds5:48Fold Expressions - Recap2:34Type Traits Suffixes3:22if constexpr - I7:42if constexpr - II4:43C++17 Standard Library Components
std::optional - I5:18std::optional - II3:50std::optional - III3:38std::variant - I5:57std::variant - II4:34std::variant - III5:58std::any6:33std::string_view - I8:39std::string_view - II8:13Filesystem - path5:49Filesystem - directory_entry7:00Filesystem - Directory Functions5:09Filesystem - Permissions5:44Parallel Algorithms - I3:49Parallel Algorithms - II7:32Parallel Algorithms - III4:24
Complete Modern C++
Packt Publishing | Tech Knowledge in Motion
Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals. Working towards that vision, it has published over 4,000 books and videos so far, providing IT professionals with the actionable knowledge they need to get the job done–whether that’s specific learning on an emerging technology or optimizing key skills in more established tools.
Description
In this course, you will explore C++ and get to grips with the modern features introduced in C++17. C++ is a general-purpose programming language developed by Bjarne Stroustrup in 1979, and it is still one of the most popular programming languages used to create high-performance applications across a wide variety of domains and platforms. This course will help you learn C++ as an object-oriented language with modern features, covering both old and new C++ concepts with clear examples.
- Access 198 lectures & 19+ hours of content 24/7
- Build complex programs, including classes, operator overloading, composition, & more
- Master the C++ compilation process
- Obtain the key concepts of programming that will also apply to other programming languages
- Use C++ as an object-oriented language
Specs
Important Details
- Length of time users can access this course: lifetime
- Access options: desktop or mobile
- Redemption deadline: redeem your code within 30 days of purchase
- Experience level required: beginner
- Updates included
- Have questions on how digital purchases work? Learn more here
Requirements
- Basic programming knowledge in any computer language
- Some experience in writing programs in any language
- Modern C++ compiler, preferably Visual Studio 2015/17/19 Community (or XCode, Clang, g++, Cevelop, Eclipse CDT, Code::Blocks)

Embedded Systems Object-Oriented Programming in C & C++

Creational Design Patterns in Modern C++

The Complete C++ Developer Course

Modern C++ Programming Cookbook, Second Edition

C++ High Performance, Second Edition

Expert C++

Modern CMake for C++
Terms
- Unredeemed licenses can be returned for store credit within 30 days of purchase. Once your license is redeemed, all sales are final.