
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Explore a fun Tetris project built with c++20 modules and c++23 features, using cmake, vc package, and git; learn cross-platform, professional cpp workflows.
Docker provides a ready-made Linux environment with modern C++ tools like GCC/clang and CMake, enabling you to develop, run, and debug from Visual Studio Code without altering your local setup.
Explore compiler explorer to run C++ code in a browser, compare GCC, Clang, and Visual C++ online, and inspect assembly and resulting binary code.
Explore the C++ project structure, including CMakeLists.txt, presets, modules, main.cpp, and dependencies like fmt, built across Windows, Linux, and macOS with VC package.
Build a CMake project on the terminal with cmake presets across Windows and Linux, then configure, build with ninja, and run the rocket binary.
Discover how variables are stored in memory and C++ data types like integers and floats. Explore binary, decimal, hexadecimal, and octal number systems and ranges that govern precision.
Explore safe and common initialization in C++, covering braced initialization, functional initialization, and assignment initialization, including zero initialization, using expressions, avoiding narrowing conversions, and introducing the auto type.
Explore C++ integer modifiers—signed, unsigned, short, long, and long long—and their memory sizes; then examine floating-point numbers, fixed and scientific notation, and the concepts of infinity and NaN.
Explore collections in C++ by using stdvector, stdarray, and stdstring to group data, learn dynamic vs fixed containers, and see auto deduce types with practical examples.
Explore using C++ logical and relational operators (and, or, not) with booleans and truth tables, plus math functions (floor, ceil, abs, round, exp, pow, log, log10, sqrt).
Explore literals and constants in modern C++ and how constexpr enables compile-time evaluation. Identify integer, floating point, character, string, and boolean literals, including unsigned, long, and binary, hex, octal forms.
Explore C++ flow control with if statements, switch cases, and the ternary operator, and learn how initializers, else if chains, and short-circuit evaluation shape program decisions.
practice c++ flow control and sfml event handling in a challenge project, using if, switch, loops, and key, mouse, and clock-based updates to drive interactive graphics.
Explore std::array, a fixed-size container in C++, learn to declare, initialize, access with [ ] or at(), iterate with range-based loops, and build one-dimensional and two-dimensional arrays with bounds checking.
Explore stdstring as a dynamic collection of characters and compare it to stdvector and stdarray, then declare, access, append, substring, and manipulate strings with familiar operations.
Learn how smart pointers manage dynamic memory in c++, focusing on unique pointers that own memory, release it automatically, and support safe ownership transfer.
Explore building a terminal-based user interface in C++ using the FDX UI library, including VBox layouts, text elements, and interactive buttons, as you tackle challenge 2.
Master std::string fundamentals, including initialization, modification, and concatenation, then explore string literals and the s suffix, to_string, and raw string literals for clean, modern c++ text.
Explore constexpr and consteval functions in C++ to run at compile time or runtime. See how compile-time computations bake results into the binary, shifting cost from runtime to compilation.
Explore function overloading in C++, using the same name for functions with different parameter types or counts, with practical examples like print overloads and std getline.
Build an ftx ui based calculator in c++, using lambda functions and input fields. Choose add, subtract, multiply, or divide with a menu and see the result.
Master Modern C++ with Real-World Projects & Industry Tools
C++ 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.