C++23 Fundamentals With Projects & Algorithms
Published 3/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 41.16 GB | Duration: 60h 22m
Published 3/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 41.16 GB | Duration: 60h 22m
Go beyond the basics—build, debug, and optimize modern C++23 projects with pro tools like CMake and vcpkg.
What you'll learn
Modern C++23 – Write efficient, maintainable, and modern C++ code using the latest language features.
Using Pro Tools – Build projects with CMake, vcpkg, and third-party libraries like a professional.
Debugging Like a Pro – Learn debugging techniques using the debugger coming with your compiler.
Handleing File I/O – Work with modern C++ file handling using std::filesystem and streams.
Building GUI Apps – Create graphical applications using libraries like SFML and ftxui
Memory Management – Understand RAII, smart pointers, and modern memory management techniques.
Working with Containers – Use STL containers effectively and understand their best use cases.
Writing Modular Code – Build scalable projects with C++20 modules and best design practices.
Optimizing Performance – Write high-performance C++ using smart pointers, compile time computations, move semantics, and efficient algorithms.
Requirements
No prior C++ experience needed – Just bring your curiosity and eagerness to learn!
A computer with internet access – You'll need to download tools like CMake, a compiler, and vcpkg.
Basic programming knowledge (optional) – Familiarity with any programming language helps but isn’t required.
Strong willingness to learn – C++ can be challenging, but with dedication, you’ll master it!
Description
Master Modern C++ with Real-World Projects & Industry ToolsC++ is one of the most powerful programming languages, but learning it the right way makes all the difference. C++23 Fundamentals with Projects & Algorithms is not just another beginner’s course—it’s designed to teach you modern C++ the way professionals use it.Unlike courses that focus on small, standalone code snippets, this course immerses you in real-world development from the start. You'll build structured projects using industry-standard tools like modern CMake, vcpkg, and third-party libraries—the same tools used by professional C++ developers.What You'll Learn:C++ Standards: C++11, C++14, C++20, and C++23 – Master the latest features while ensuring you can work with and improve legacy codebases.Structured projects, not just toy examples – Learn to organize code across multiple files and build projects like in real development environments.Industry-standard tools – Get hands-on experience with modern CMake, vcpkg, and external libraries to develop scalable applications.Algorithms & data structures – Strengthen your problem-solving skills with key algorithmic concepts.Debugging & compile time computations – Write efficient, compile-time friendly C++ and learn how to troubleshoot issues.File I/O, GUI development & more – Work with files, create user interfaces, and explore advanced C++ topics.This course is built by the instructor of the popular C++20 Masterclass and pushes things even further—bringing you closer to how C++ is actually used in practice. Whether you're new to C++ or looking to modernize your skills, this course will equip you with the right tools and mindset for real-world development.
Overview
Section 1: Introduction
Lecture 1 Welcome
Lecture 2 What You Will Achieve
Lecture 3 Course Files
Section 2: Environment Setup
Lecture 4 Setup Birds Eye View
Lecture 5 Windows Setup
Lecture 6 Linux Setup
Lecture 7 Mac Setup
Lecture 8 Docker
Lecture 9 Compiler Explorer(Web)
Lecture 10 Understanding the Tools and Files: C++, CMake, vcpkg, VS Code and Ninja
Lecture 11 Using Git: Optional but IMPORTANT!
Section 3: First Steps
Lecture 12 First C++ Program: The Basics
Lecture 13 C++ Program Execution Model
Lecture 14 Challenge: SFML GUI
Lecture 15 Explore: Building with CMake Manually on the Terminal
Lecture 16 Explore: Building with CMake Presets Manually on the Terminal
Section 4: Variables, Data Types and Basic Operations
Lecture 17 Varibles and Data Types Part 1
Lecture 18 Variables and Data Types Part 2
Lecture 19 Integer Modifiers, Characters, Text and Auto part 1
Lecture 20 Integer Modifiers, Characters, Text and Auto part 2
Lecture 21 Integer Modifiers, Characters, Text and Auto part 3
Lecture 22 Integer Modifiers, Characters, Text and Auto part 4
Lecture 23 Operations, Math Functions and Weird Integers part 1
Lecture 24 Operations, Math Functions and Weird Integers part 2
Lecture 25 Operations, Math Functions and Weird Integers part 3
Lecture 26 Bitwise Operators part 1
Lecture 27 Bitwise Operators part 2
Lecture 28 Bitwise Operators Examples
Lecture 29 Challenge
Section 5: Streams, Formatting, Litterals and Constants
Lecture 30 Input Output and Stream Formatting (std::cout)
Lecture 31 The format library (C++20)
Lecture 32 Litterals
Lecture 33 Constants
Lecture 34 Constexpr Variables
Lecture 35 Constexpr Functions
Lecture 36 Consteval Functions
Lecture 37 Constinit
Lecture 38 Challenge
Section 6: Flow Control
Lecture 39 If, Switch and the Ternary Operator
Lecture 40 Loops
Lecture 41 Challenge
Section 7: Sequences
Lecture 42 std::array
Lecture 43 std::vector
Lecture 44 std::string
Lecture 45 Built-in Arrays
Lecture 46 Random Numbers
Lecture 47 Fortune Teller
Lecture 48 Challenge #1
Lecture 49 Challenge #2
Lecture 50 Challenge #3
Lecture 51 Challenge #4
Lecture 52 Challenge #5
Section 8: Pointers, Dynamic Memory and Arrays
Lecture 53 Pointer Basics
Lecture 54 Pointers and Const
Lecture 55 Pointers and Arrays
Lecture 56 Pointer Arithmetic
Lecture 57 Dynamic Memory Allocation
Lecture 58 Dynamic Memory Allocation (contd)
Lecture 59 Smart Pointers: Unique Pointers
Lecture 60 Smart Pointers: Shared Pointers
Lecture 61 References
Lecture 62 Challenge #1
Lecture 63 Challenge #2
Section 9: Characters and Strings
Lecture 64 Characters and C-Strings
Lecture 65 std::string and String Literals
Lecture 66 StringView
Lecture 67 Challenges
Lecture 68 Palindrome Checker with ftx_ui
Section 10: Functions
Lecture 69 Function Basics
Lecture 70 Passing Parameters
Lecture 71 Sequence and Array Parameters
Lecture 72 Constexpr and Consteval Functions
Lecture 73 Arguments to main
Lecture 74 Function Overloading
Lecture 75 Lambda Functions
Lecture 76 Attributes, Static Variables and Recursion
Lecture 77 Challenge #1
Lecture 78 Challenge #2
Section 11: File I/O
Lecture 79 Writing and Reading Files (Text/Binary)
Lecture 80 Practice: Writing and Reading CSV and JSON
Lecture 81 Challenge
Section 12: Custom Types
Lecture 82 Classes and Objects: The basics
Lecture 83 Separate the Interface From the Implementation
Lecture 84 C++23 Explicit Object Parameters and Initializer Lists
Lecture 85 Copy Constructors
Lecture 86 Constructor Delegation
Lecture 87 Explicit Constructors
Lecture 88 Copy Assignment Operator
Lecture 89 File I/O: Writing and Reading Objects
Lecture 90 Friends
Lecture 91 Practice: A Canvas and its Pixels
Lecture 92 Move Semantics
Lecture 93 Special Class Members
Lecture 94 Constexpr and Consteval Classes
Lecture 95 Challenge #1
Lecture 96 Challenge #2
Section 13: Course Project: Tetris
Lecture 97 Tetrominoes
Lecture 98 Movement
Lecture 99 Next Piece Preview
Lecture 100 Game Over Feedback, Clearing blocks and Scores
Lecture 101 Re-Structuring
Lecture 102 Subdirs
Anyone serious about learning C++ – We teach C++ the way professionals use it, with modern CMake, vcpkg, third-party libraries, debugging, and more.,Beginners with no C++ experience – If you’re new to programming or switching to C++, this course will guide you from the ground up,Self-taught programmers – If you've dabbled in C++ but struggle with best practices, modern tools, and real-world projects, this course is for you.,Students and aspiring developers – Ideal for those looking to build a strong foundation in C++ for software development, game dev, or embedded systems.,Professionals in other languages – If you know Python, Java, or C# and want to add C++ to your skill set, this course will get you up to speed.