© 2026 Dometrain. All rights reserved.
Learn the basics of C++, from variables and functions to classes, standard containers, and memory management.
Writing safe and effective C++ requires a solid mental model of how the language handles memory, types, and state. This course builds that foundation from scratch, starting with the basic shape of a C++ program, core types like int, double, and std::string, and type deduction using auto. You will learn to control program flow through early returns, guard clauses, and loops, before moving into function design. We cover local scope, function overloading, and the critical mechanics of parameter passing, ensuring you understand exactly when to pass by value, when to use references, and how to enforce immutability with const.
With the basics in place, you will learn to work with the standard library, manipulating text and managing collections using std::vector, std::map, and std::set. You will write custom lambdas for sorting, transform elements across vectors, and safely represent missing data with std::optional. From there, the course moves into data modeling, evolving simple structs into robust classes. You will manage state over time using constructors, member initializer lists, and destructors while protecting class invariants. Finally, we tackle memory management. After exploring raw pointers, manual allocation with new, and the pitfalls of dynamic memory, you will master modern C++ ownership semantics using std::unique_ptr and RAII. The course concludes by showing you how to structure multi-file programs using headers, namespaces, and include guards, culminating in a complete text parsing and reporting project.