The 2023 Premium C Programming Developer Bundle

Ending In:
Add to Cart - $40
Add to Cart ($40)
$1,600
97% off
wishlist
Courses
8
Lessons
501

What's Included

Product Details

Access
Lifetime
Content
19+ hours
Lessons
198

Complete Modern C++

Have All the Knowledge You Need on C++ & Its Functions to Become a Proficient Developer

By Packt Publishing | in Online Courses

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.

4.5/5 average rating: ★ ★ ★ ★

  • 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
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

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)

Course Outline

  • Your First Program

  • Start Here

    • Introduction - 3:01
    • Visual Studio 2015 Installation - 4:32
    • Visual Studio 2017 Installation - 2:44
    • Blocks Installation - 5:06
    • Cevelop Installation - 5:22
    • XCode Installation on MacOS - 3:28
  • Basic Language Facilities

    • What is C++? - 3:31
    • First C++ Program - 9:12
    • The C++ Compilation Process - 3:09
    • Primitive Types and Variables - 7:57
    • Basic Input/Output - 5:56
    • Functions Basics - Part I - 7:28
    • Functions Basics - Part II - 9:05
    • Overview of Debugging in Visual Studio - 5:40
    • Uniform Initialization (C++11) - 9:21
    • Pointers - 8:25
    • Reference - 5:32
    • Reference Versus Pointer - 6:58
    • The const Qualifier - 4:19
    • const Qualifier and Compound Types - 7:30
    • Automatic Type Inference (C++11) - 7:00
    • Range-Based For Loop - I (C++11) - 4:32
    • Range-Based For Loop - II (C++11) - 6:12
    • Function Overloading - 13:27
    • Default Function Arguments - 3:43
    • Inline Functions - 7:36
    • Function Pointers - 4:53
    • Namespace - 9:24
  • Memory Management – Part I

    • Dynamic Memory Allocation - Part I (malloc Function) - 9:36
    • Dynamic Memory Allocation - Part II (new Operator) - 6:19
    • Dynamic Memory Allocation - Part III (new[] Operator) - 6:40
    • Dynamic Memory Allocation - Part IV (2D Arrays) - 5:07
  • Classes and Objects

    • Object-Oriented Programming Basics - 5:50
    • Class - 5:31
    • Constructor and Destructor - 4:28
    • Structures - 2:38
    • Non-Static Data Member Initializers (C++11) - 4:39
    • this Pointer - 4:46
    • Constant Member Functions - 3:14
    • Static Class Members - 5:12
    • Copy Constructor - Part I - 4:52
    • Copy Constructor - Part II - 4:40
    • Delegating Constructors (C++11) - 4:01
    • Default and Deleted Functions (C++11) - 5:18
    • L-values, R-values, and R-value References (C++11) - 7:10
    • Move Semantics - Basics (C++11) - 3:23
    • Move Semantics - Implementation (C++11) - 4:19
    • Copy Elision - 8:26
    • Move Semantics - std::move Function (C++11) - 2:55
  • Move Semantics

    • Value Categories - 7:10
    • Move Semantics – Basics - 3:23
    • Move Semantics – Implementation - 3:45
    • Rule of 5 and 0 - 14:30
    • Copy Elision - 8:22
    • std::move Function - 7:52
  • Operator Overloading

    • Operator Overloading - Part I (Basics) - 8:29
    • Operator Overloading - Part II (Assignment Operator) - 4:18
    • Operator Overloading - Part III (Global Overloads) - 5:48
    • Operator Overloading - Part IV (Friend Keyword) - 2:29
    • Operator Overloading - Part V (Smart Pointer Basics) - 5:04
    • Operator Overloading - Part VI (Smart Pointers in C++11) - 4:34
    • Operator Overloading - Part VII (Rules) - 1:55
    • Type Conversions - Part I (Basics) - 5:56
    • Type Conversions - Part II (Primitive to User Type) - 5:40
    • Type Conversions - Part III (User to Primitive Type) - 2:50
    • Initialization Versus Assignment and Member Initialization List - 5:18
  • Memory Management – Part II

    • Raw Pointers - 5:12
    • std::unique_ptr - 10:13
    • Sharing Pointers - 6:12
    • Sharing std::unique_ptr - 4:35
    • std::shared_ptr - 5:21
    • Weak Ownership - 8:50
    • std::weak_ptr Internals - 6:28
    • Circular References - 10:28
    • Deleter - 7:07
    • Dynamic Arrays - 3:27
    • Make Functions - 5:43
  • More C++ Goodies

    • Enums - Part I (Basics) - 3:42
    • Enums - Part II (Scoped Enums C++11) - 5:32
    • Strings - Part I (Raw Strings) - 6:49
    • Strings - Part II (std::string) - 10:05
    • Strings - Part III (String Streams) - 9:45
    • Constant Expressions - constexpr (C++11) - 9:24
    • std::initializer_list (C++11) - 8:27
    • Dynamic Array (std::vector) - 8:43
    • Union - I - 4:51
    • Union - II - 4:56
  • Object-Oriented Programming

    • Inheritance and Composition - 6:01
    • Inheritance and Access Modifiers - 3:55
    • Project - Part I (Beginning) - 2:06
    • Project - Part II (Account and Savings Implementation) - 6:59
    • Project - Part III (Inheriting Constructors) - 6:31
    • Project - Part IV (Virtual Keyword) - 8:53
    • Project - Part V (Virtual Mechanism Internals) - 7:11
    • Project - Part VI (Virtual Mechanism Walk-through and Virtual Destructor) - 6:43
    • Project - Part VII (override and final specifier) - 6:13
    • Project - Part VIII (Upcasting and Downcasting) - 5:45
    • Project - Part IX (RTTI Basics) - 7:11
    • Project – Part X (dynamic_cast) - 6:08
    • Abstract Class - 6:03
    • Multiple (Diamond) Inheritance - 9:22
  • Exception Handling

    • Exception Handling - Part I (Basics) - 7:59
    • Exception Handling - Part II (Multiple Catch Blocks) - 3:59
    • Exception Handling - Part III (Stack Unwinding) - 6:31
    • Exception Handling - Part IV (Nested Exceptions) - 5:11
    • Exception Handling - Part V (Constructor and Destructor) - 7:06
    • Exception Handling - Part VI - (noexcept Keyword in C++11) - 8:20
  • File Input and Output

    • Raw String Literals (C++11) - 4:03
    • Introduction to Filesystem Library (C++17) - 3:49
    • File IO - Part I (Basics) - 6:44
    • File IO - Part II (Error Handling) - 5:43
    • File IO - Part III (Copy Utility) - 3:29
    • File IO - Part IV (Character IO and Seeking) - 7:22
    • File IO - Part V (Binary IO) - 8:30
  • Templates

    • Introduction to Templates - 7:48
    • Template Argument Deduction and Instantiation - 6:28
    • Explicit Specialization - 5:54
    • Non-type Template Arguments - 7:15
    • Perfect Forwarding - Part I (C++11) - 7:23
    • Perfect Forwarding - Part II (C++11) - 5:32
    • Variadic Templates - Part I (C++11) - 9:47
    • Variadic Templates - Part II (C++11) - 4:50
    • Class Templates - 8:34
    • Class Template Explicit Specialization - Part I - 5:41
    • Class Template Explicit Specialization - Part II - 4:02
    • Class Template Partial Specialization - 6:52
    • Typedef, Type Alias, and Alias Templates (C++11) - 8:00
    • Type Traits (C++11) - 7:21
    • static_assert (C++11) - 4:19
  • Lambda Expressions (C++11)

    • Callbacks Revisited - Function Pointers - 6:39
    • Callbacks - Function Objects - 6:57
    • Lambda Expressions - 4:36
    • Lambda Expressions - Internals - 5:01
    • Lambda Expressions Capture List - Part I - 8:25
    • Lambda Expressions Capture List - Part II - 4:08
    • Lambda Expressions Capture List - Part III - 5:52
    • Generalized Lambda Capture - 4:33
  • Standard Template Library

    • Introduction - 2:50
    • std::array (C++11) - 4:02
    • std::vector - 4:38
    • std::deque - 2:21
    • std::list and std::forward_list (C++11) - 4:59
    • std::set and std::multiset - 5:42
    • std::map and std::multimap - 7:35
    • Unordered Containers (C++11) - 8:01
    • std::hash (C++11) - 2:42
    • Big O Notation and Performance of Containers - 5:04
    • Algorithms - Part I - 8:15
    • Algorithms - Part II - 7:04
  • C++ Concurrency

    • Concurrency Basics - 6:12
    • Thread Creation (std::thread) - 5:47
    • Passing Arguments to Threads - 4:18
    • Thread Synchronization (std::mutex) - 6:18
    • std::lock_guard - 2:45
    • std::thread Functions and std::this_thread Namespace - 7:48
    • Task-Based Concurrency - Part I - 5:07
    • Task-Based Concurrency - Part II - 3:44
    • Launch Policies - 4:38
    • std::future Wait Functions - 5:07
    • Using std::promise - 5:36
    • Propagating Exceptions Across Threads - 3:15
  • C++17 Core Language Features

    • Deprecated and Removed Features - 3:53
    • Changes - 3:12
    • Attributes - 5:58
    • Feature Test Macros - 5:51
    • If and switch with Initialization - 5:47
    • Inline Variables - 5:45
    • Nested Namespaces - 1:51
    • noexcept - 3:35
    • constexpr Lambda - 7:47
    • Structured Bindings - 8:07
    • Expression Evaluation Order - 6:36
    • Mandatory Copy Elision - I - 4:28
    • Mandatory Copy Elision - II - 4:33
  • C++17 Template Features

    • Compiled Time Argument Deduction (CTAD) - 5:41
    • Folding Basics - 4:05
    • Fold Expressions - Unary Folds - 4:27
    • Fold Expressions - Binary Folds - 5:48
    • Fold Expressions - Recap - 2:34
    • Type Traits Suffixes - 3:22
    • if constexpr - I - 7:42
    • if constexpr - II - 4:43
  • C++17 Standard Library Components

    • std::optional - I - 5:18
    • std::optional - II - 3:50
    • std::optional - III - 3:38
    • std::variant - I - 5:57
    • std::variant - II - 4:34
    • std::variant - III - 5:58
    • std::any - 6:33
    • std::string_view - I - 8:39
    • std::string_view - II - 8:13
    • Filesystem - path - 5:49
    • Filesystem - directory_entry - 7:00
    • Filesystem - Directory Functions - 5:09
    • Filesystem - Permissions - 5:44
    • Parallel Algorithms - I - 3:49
    • Parallel Algorithms - II - 7:32
    • Parallel Algorithms - III - 4:24

View Full Curriculum


Access
Lifetime
Content
12+ hours
Lessons
43

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

End-to-End Firmware & Driver Development: UART,GPIO,TIMER, etc. From Datasheet to Embedded C and C++

By Packt Publishing | in Online Courses

This course is for anyone seeking to improve their embedded firmware development skills. This course focuses on how to apply object-oriented principles to embedded firmware development. By the end of this course, you will be able to write Objected-Oriented Embedded-C Applications as well as Objected-Oriented Embedded-C++ Applications.

4.4/5 average rating: ★ ★ ★ ★

  • Access 43 lectures & 12+ hours of content 24/7
  • Apply objected-oriented principles to firmware development
  • Write objected-oriented embedded-C++ applications
  • Build every single line of code from scratch by writing to the microcontroller’s memory space directly.
  • Use the debugger effectively to analyze and resolve any bugs
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

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

  • No programming experience needed

Course Outline

  • Introduction
    • Overview - 0:50
    • Downloading Keil Vision - 1:18
    • Installing Keil μVision - 6:23
    • Installing Packs - 4:19
    • Overview of Keil μVision - 10:02
  • Object-Oriented Firmware Programming
    • Developing a UART Driver for Monitoring Results - 41:58
    • Creating an LED Class in Object-Oriented C (Part I) - 29:54
    • Creating an LED Class in Object-Oriented C (Part II) - 29:58
    • Creating an LED Class in C++ - 26:44
  • Implementing Inheritance in Embedded C and C++
    • Inheriting a Class in Object-Oriented C (Part 1) - 15:13
    • Inheriting a Class in Object-Oriented C (Part 2) - 5:43
    • Inheriting a Class in Object-Oriented C (Part 3) - 6:25
    • Implementing Inheritance in C++ - 16:55
  • Developing an Object-Oriented GPIO Driver and Library in C from Scratch
    • Implementing a Structure to Hold Registers - 36:53
    • Implementing the RCC Registers Structure - 24:26
    • Testing the Driver - 11:56
    • Adding all GPIO Ports to the Driver - 12:34
    • Creating the Interface and Implementation Files - 3:23
    • Implementing the Library - 28:22
    • Implementing the Library Functions - 20:43
    • Testing the Library - 4:49
  • Implementing Polymorphism in Embedded C and C++
    • Another Class to Our Firmware in C - 15:03
    • Implementing Polymorphism in C (Part I) - 29:51
    • Implementing Polymorphism in C (Part II) - 23:56
  • More General-Purpose Input/Output (GPIO) Features (Optional)
    • Extending the GPIO Library for Handling Alternate Functions - 32:40
  • Developing an Object-Oriented GPIO Driver and Library in C++ From Scratch
    • Developing a General-Purpose Input / Output Library in C++ - 48:01
  • Developing an Object-Oriented UART Driver and Library in C from Scratch
    • Implementing the UART Registers Structure - 21:06
    • Developing the UART Driver - 23:27
    • Developing the UART Library (PART I) - 37:58
    • Developing the UART Library (PART II) - 5:15
    • Testing the UART Library - 2:49
  • Developing an Object-Oriented UART Driver and Library in C++ from Scratch
    • Developing the UART Library in C++ - 18:37
  • Developing an Object-Oriented SysTick Timer Library in C from Scratch
    • Implementing the SysTick Registers Structure - 15:03
    • Testing the SysTick Library C - 8:48
    • Writing the SysTick Library C - 14:22
    • Implementing the SysTick Library C++ - 15:58
  • Setting Up Option 2 – STM32CubeIDE
    • Download CubeIDE - 4:13
    • Setting Up STM32CubeIDE - 7:25
    • Installing Packages - 6:07
    • Overview - 17:17
    • Writing a GPIO Driver from Scratch (Part I) - 34:02
    • Writing a GPIO Driver from Scratch (Part II) - 17:29
  • Closing Remarks
    • Closing Remarks - 0:11

View Full Curriculum


Access
Lifetime
Content
12.0 hours
Lessons
43

Creational Design Patterns in Modern C++

Learn Creational Design Patterns in Depth & Their Implementation in Modern C++

By Packt Publishing | in Online Courses

This course is for anyone seeking to improve their embedded firmware development skills. This course focuses on how to apply object-oriented principles to embedded firmware development. By the end of this course, you will be able to write Objected-Oriented Embedded-C Applications as well as Objected-Oriented Embedded-C++ Applications.

4.7/5 average rating: ★ ★ ★ ★

  • Access 43 lectures & 12+ hours of content 24/7
  • Apply objected-oriented principles to firmware development
  • Write objected-oriented embedded-C++ applications
  • Build every single line of code from scratch by writing to the microcontroller’s memory space directly.
  • Use the debugger effectively to analyze and resolve any bugs
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

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

  • Any device with basic specifications

Course Outline

  • Introduction
    • Introduction to Patterns - 4:57
    • Overview of UML Class Diagram - 8:24
    • S.O.L.I.D. Principles - I - 4:56
    • S.O.L.I.D. Principles - II - 4:59
    • S.O.L.I.D. Principles - III - 5:14
    • Overview of Creational Patterns - 2:11
    • Slide Deck
  • Singleton
    • Source code
    • Introduction - 3:49
    • Basic Example - 3:16
    • Logger Class - I - 7:22
    • Logger Class - II - 5:48
    • Lazy Instantiation - 4:08
    • Destruction Policies - 8:12
    • Multithreading Issues - 6:11
    • Why DCLP Fails - 8:08
    • Meyers Singleton - 2:46
    • Using std::call_once - 4:38
    • CRTP Idiom - 4:39
    • Clock Class - 5:27
    • Monostate - 5:58
    • Singleton vs Monostate - 2:33
    • Singleton Issues - 5:44
    • Registry Of Singletons - I - 9:37
    • Registry Of Singletons - II - 8:23
    • Pros & Cons - 4:22
  • Factory Method
    • Source Code
    • Introduction - 6:16
    • Basic Example - I - 4:52
    • Basic Example - II - 7:21
    • Application Framework Overview - 3:22
    • Application Framework Implementation - 3:52
    • Application Framework with Factory Method - 8:04
    • Parameterized Factory Method - 9:07
    • std::unique_ptr - 6:41
    • std::shared_ptr - 7:23
    • Pros & Cons - 5:03
  • Object Pool
    • Source Code
    • Introduction - 5:06
    • Basic Example - 6:29
    • Pooling Game Objects - I - 7:23
    • Pooling Game Objects - II - 6:02
    • Multiple Actors - I - 4:19
    • Multiple Actors - II - 7:37
    • Multiple Actors - III - 9:12
    • Generic Pool - I - 5:45
    • Generic Pool - II - 9:10
    • Pros & Cons - 3:43
  • Abstract Factory
    • Source Code
    • Introduction - 6:16
    • Basic Example - I - 6:24
    • Basic Example - II - 6:40
    • Database Framework Introduction - 5:40
    • Database Framework Implementation - 3:47
    • SqlServer Database Classes - 6:29
    • MySql Database Classes - 3:13
    • Database Framework Usage - 4:29
    • Using Factory Method - 8:24
    • Using Abstract Factory - 6:26
    • Pros & Cons - 8:14
  • Prototype
    • Source Code
    • Introduction - 3:58
    • Cloning Types - 4:39
    • Basic Example - 4:49
    • Game Introduction - 3:29
    • Game Implementation - I - 6:54
    • Game Implementation - II - 4:36
    • Game Implementation - III - 7:22
    • Cloning Example - 4:52
    • Prototype Implementation - I - 6:46
    • Prototype Implementation - II - 3:22
    • Prototype Implementation - III - 5:35
    • Class Vs Object - 4:55
    • Varying State - 4:38
    • Prototype Manager - I - 6:09
    • Prototype Manager - II - 4:10
    • Prototype Manager - III - 3:30
    • Pros & Cons - 6:07
  • Builder
    • Source Code
    • Introduction - 4:27
    • Basic Example - 5:40
    • File Example Introduction - 5:43
    • Memory Management - 5:46
    • Issues - 6:01
    • Builder Implementation - 4:06
    • Modern Implementation - 6:57
    • Fluent Builder - 5:41
    • Pros & Cons - 4:13

View Full Curriculum


Access
Lifetime
Content
19+ hours
Lessons
107

The Complete C++ Developer Course

Master Theory & Practice Using One of the World's Most Popular Programming Languages

By Packt Publishing | in Online Courses

C++ is one of the most popular languages in the world! It's used by over 4 million developers worldwide, and in the US the average salary of a C++ developer is over $100,000 a year! This course is designed to get students coding in C++ as quickly as possible while teaching the best tips, tricks, and theories behind the code.

4.6/5 average rating: ★ ★ ★ ★

  • Access 107 lectures & 19+ hours of content 24/7
  • Master the fundamentals of C++ programming
  • Develop practical skills & terminology related to software development
  • Implementing the ADTs List, stack, & Queue
  • Apply procedural and object-oriented concepts and syntax
  • Building custom data structures with array and link-based approaches
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

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

  • Any device with basic specifications

Course Outline

  • Getting Started
    • Section Overview - 2:14
    • Getting Started on Windows with Visual Studio Integrated Development Environment (IDE) - 10:05
    • Getting Started on macOS or Linux with CodeBlocks IDE - 10:57
    • Getting Started with macOS Catalina or Higher with Visual Studio Code - 14:48
    • Finding Answers to Your Questions - 2:32
  • Fundamentals of C++
    • Section Overview - 2:15
    • Saying Hello to C++ - 11:21
    • Variables and Data Types - Part 1 - 10:32
    • Variables and Data Types - Part 2 - 9:12
    • Variables and Data Types - Part 3 - 7:25
    • Comments - 6:57
    • Arithmetic Operators - 19:28
    • Relational Operators - 8:44
    • Logical Operators - 12:34
    • Symbolic Constants and Naming Conventions - 9:47
    • User Input - 15:19
    • Project - Average of Three - 6:46
    • Project - MadLibs Clone - 14:11
    • Section Wrap-Up - 2:24
  • Control Statements
    • Section Overview - 1:28
    • Introduction to Control Statements - 7:36
    • Selection Control Statements - 21:30
    • Repetition Control Statements - 17:56
    • The Break and Continue Statements - 9:38
    • Random Numbers - 11:08
    • Project - Jam of the Month Club - 12:32
    • Project - Odds and Evens - 5:03
    • Project - Guess the Number - 10:42
    • Section Wrap-Up - 2:01
  • Arrays and Vectors
    • Section Overview - 1:26
    • Built-In Arrays - 18:31
    • The Array Class - 13:20
    • The Vector Class - 15:09
    • Multi-Dimensional Arrays - 11:15
    • Project - Array Data - 6:20
    • Project - Vector Data - 6:46
    • Project - Parallel Arrays/Vectors - 9:57
    • Section Wrap-Up - 1:48
  • Functions
    • Section Overview - 0:56
    • Function Prototypes and Definitions - 8:19
    • Function Return Types and Parameters - 16:57
    • Parameter Passing: Pass-By-Value and Pass-By-Reference - 14:53
    • Variable Scope and Lifetime - 17:32
    • Function Overloading - 7:55
    • The Library - 9:26
    • Recursion - 17:27
    • Project - Return the Product of Three Parameters - 3:52
    • Project - Return the Sum of Built-In Array Elements - 5:37
    • Project - Return the Sum of Array Object Elements - 4:29
    • Project - Retrieve the Sum of Array Object Elements by Reference - 6:57
    • Project - Tic-Tac-Toe (Advanced) - 30:56
    • Section Wrap-Up - 1:23
  • Introduction to Classes and Objects
    • Section Overview - 1:48
    • Basics of Object-Oriented Programming (OOP) - 3:22
    • Encapsulation: Data Members and Member Functions - 23:53
    • Separate Compilation - 18:42
    • Constructors and Destructors - 12:23
    • A Rectangle Class - 16:10
    • A Book Class - 19:43
    • Project - A Bank Account Class - 16:46
    • Project - A Pizza Class - 14:29
    • Project - A Circle Class - 13:09
    • Section Wrap-Up - 3:49
  • Exceptions and Debugging
    • Section Overview - 1:30
    • Exceptions and the Exception Hierarchy - 14:59
    • Logic Errors - 8:55
    • Runtime Errors and Throwing Exceptions - 20:09
    • Rethrowing Exceptions - 16:26
    • Custom Exceptions - 14:46
    • Basic Testing and Debugging - 17:08
    • Project - Throwing and Handling an outofrange Exception - 7:06
    • Project - Creating and Using Your Own Exception - 8:32
    • Section Wrap-Up - 2:01
  • Pointers
    • Section Overview - 2:02
    • Introduction to Pointers - 14:12
    • Dynamic Memory - Part 1 - 10:27
    • Dynamic Memory - Part 2 - 17:40
    • Const Correctness - 18:19
    • Project - Dynamically Creating Rectangles - 9:43
    • Project - Dynamically Creating Circles - 11:09
    • Section Wrap-Up - 1:25
  • File Input and Output
    • Section Overview - 1:37
    • Sequential File Output - 14:51
    • Sequential File Input - 8:19
    • More File Input/Output (I/O) - 11:27
    • Project - Reading Data from File and Printing Statistics - 8:58
    • Project - Dynamically Creating Rectangles from File - 12:46
    • Project - Shopping Item File - 15:07
    • Section Wrap-Up - 1:31
  • Inheritance and Polymorphism
    • Section Overview - 2:14
    • Inheritance - Part 1 - 11:58
    • Inheritance - Part 2 - 11:14
    • Polymorphism and Late Binding - 14:04
    • Enumerated Types - 7:13
    • Project - Derived Cat Class - 10:57
    • Project – Role Playing Game (RPG) Player Character Creation - 48:28
    • Section Wrap-Up - 2:27
  • Templates, the Standard Template Library (STL), and Other Skills
    • Section Overview - 1:43
    • Templates - Standard Template Library (STL) - 22:59
    • Standard Template Library (STL) - Part 1
    • Standard Template Library (STL) - Part 2 - 15:40
    • Smart Pointers - 14:16
    • Friend Functions and Friend Classes - 14:07
    • Operator Overloading - 13:44
    • Project - Dictionary of Terms - 19:48
    • Project - Aliens - 19:13
    • Section Wrap-Up - 1:29

View Full Curriculum


Access
Lifetime
Content
19.0 hours
Lessons
107

Modern C++ Programming Cookbook, Second Edition

Become an Expert C++ Programmer by Solving Real-World Programming Problems

By Packt Publishing | in Online Courses

C++ is one of the most widely used general-purpose programming languages. It has been a great tool for developers to build applications with ease and speed. But as time passes by, C++ has evolved into an amazing language that can solve complex problems. It is now being used by more and more programmers across the world. In this course, you will learn all about new features of C++20, such as modules, concepts, coroutines, the standard library, and ranges.

By the end of this course, you will be able to effectively leverage the features and techniques of C++11/14/17/20 programming to enhance the performance, scalability, and efficiency of your applications!

  • Access 1 lecture & 1 hour of content 24/7
  • Explore useful coding patterns
  • Learn how to implement idioms such as pimpl, named parameter, & attorney-client
  • Discover the 3 most widely used libraries for C++
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

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 knowledge of C++.

Course Outline

  • Modern C++ Programming Cookbook - Second Edition
    • Modern C++ Programming Cookbook - Second Edition

View Full Curriculum


Access
Lifetime
Content
1.0 hours
Lessons
1

C++ High Performance, Second Edition

Have the Ability to Use Every Tool as Needed to Boost the Efficiency of Your C++ Projects

By Packt Publishing | in Online Courses

C++ High Performance, Second Edition guides you through optimizing the performance of your C++ apps. This allows them to run faster and consume fewer resources on the device they're running on without compromising the readability of your codebase.

The course begins by introducing the C++ language and some of its modern concepts in brief. After laying the foundation, the course trains you to leverage algorithms, ranges, and containers from the standard library to achieve faster execution, write readable code, and use customized iterators. By the end of this course, you will have the ability to use every tool as needed to boost the efficiency of your C++ projects.

  • Access 1 lecture & 1 hour of content 24/7
  • Take an in-depth look at some fundamental C++ techniques
  • Measure, identify & eradicate bottlenecks in your C++ codebase
  • Leverage algorithms, ranges & containers from the standard library to achieve faster execution, write readable code, and use customized iterators
  • Perform optimizations under the hood, concurrent programming & lock-free data structures
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

Important Details

  • Length of time users can access this course: lifetime
  • Access options: desktop & mobile
  • Redemption deadline: redeem your code within 30 days of purchase
  • Experience level required: beginner
  • Have questions on how digital purchases work? Learn more here

Requirements

  • Any device with basic specifications

Course Outline

  • C++ High Performance - Second Edition
    • C++ High Performance - Second Edition

View Full Curriculum


Access
Lifetime
Content
1.0 hours
Lessons
1

Expert C++

Gain Expertise in Real-World Application Development

By Packt Publishing | in Online Courses

C++ has evolved over the years and the latest release – C++20 – is now available. Since C++11, C++ has been constantly enhancing the language feature set. With the new version, you’ll explore an array of features such as concepts, modules, ranges, and coroutines. This book will be your guide to learning the intricacies of the language, techniques, C++ tools, and the new features introduced in C++20, while also helping you apply these when building modern and resilient software. By the end of this C++ programming book, you’ll have gained expertise in real-world application development, including the process of designing complex software.

  • Access 1 lecture & 1 hour of content 24/7
  • Explore the latest features of C++
  • Create your own custom templates
  • Gain useful insights into the recent C++ advancements in AI & machine learning
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

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

  • Any device with basic specifications

Course Outline

  • Expert C++
    • Expert C++

View Full Curriculum


Access
Lifetime
Content
1.0 hours
Lessons
1

Modern CMake for C++

Use CMake & Confidently Automate Complex Tasks

By Packt Publishing | in Online Courses

This book offers a simpler, more comprehensive, experience as it treats the subject of building C++ solutions holistically. Modern CMake for C++ is an end-to-end guide to the automatization of complex tasks, including building, testing, and packaging. By the end of this book, you’ll be able to use CMake confidently on a professional level.

  • Access 1 lecture & 1 hour of content 24/7
  • Learn how to use the CMake language in CMake projects
  • Discover what makes CMake language maintainable, elegant, & clean
  • Learn how to use external dependencies in your project
Packt Publishing | Tech Knowledge in Motion
4.0/5 Instructor Rating: ★ ★ ★ ★

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.

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

  • Any device with basic specifications

Course Outline

  • Modern CMake for C++
    • Modern CMake for C++

View Full Curriculum



Terms

  • Unredeemed licenses can be returned for store credit within 30 days of purchase. Once your license is redeemed, all sales are final.