Skip to content

About This Site | C++ - Wyatt's Notes

Wyatt’s Notes provides thorough study materials for C++ programming. These notes cover the language from modern C++17/20 features through templates, move semantics, and systems-level programming, building the expertise needed for performance-critical software development.

These notes are developed by Wyatt, an educator and content creator with deep expertise in C++ and systems programming. Content follows a progressive structure from language fundamentals through advanced metaprogramming, reflecting how C++ is taught and used professionally.

Materials emphasise the RAII principle, template metaprogramming, and the zero-cost abstractions that define modern C++. Every concept includes practical examples and explains the performance implications that matter in production systems.

  • Modern C++ covering C++17/20 features and idioms
  • Templates and metaprogramming for generic and compile-time programming
  • Memory management with smart pointers, move semantics, and RAII
  • Standard Library covering STL containers, algorithms, and iterators
  • Concurrency with threads, atomics, and lock-free programming

Wyatt develops resources across C++, systems programming, and computer science theory, providing the depth that serious C++ programmers need. Materials are informed by the ISO C++ standard, expert-level references, and production codebase analysis.

Start with the fundamentals to build a solid C++ foundation. Each topic progresses from basic syntax to advanced idioms. Use the practice problems to develop the deep language understanding that expert C++ programming requires.

Visit wyattsnotes.wyattau.com for the full network of study resources.

This site provides comprehensive study materials covering:

  • Syntax
  • OOP
  • Templates
  • STL
  • Concurrency
  • Memory management

Each topic includes detailed explanations, worked examples, and practice problems designed to build deep understanding.

  1. Start with fundamentals — begin with the core topics before moving to advanced material
  2. Work through examples — every concept includes worked examples with step-by-step solutions
  3. Test yourself — use the practice problems and diagnostic tests to identify knowledge gaps
  4. Cross-reference — related topics on other sites in the Wyatt’s Notes network provide additional perspectives
  • Flashcards — spaced repetition flashcards for key concepts and formulas
  • Practice Problems — graded problems from basic to advanced
  • Diagnostic Tests — identify your strengths and weaknesses
  • Worked Examples — step-by-step solutions to common problems

These notes are informed by standard university textbooks including Stroustrup, Effective C++, C++ Templates. While the notes follow the general structure of these texts, they are not a substitute for reading the primary sources.

programming fundamentals

Wyatt’s Notes is a network of 45+ study sites covering physics, mathematics, computer science, programming languages, and more. Each site is built with Astro and Starlight, using SolidJS for interactive components.

For questions, corrections, or suggestions, visit wyattsnotes.wyattau.com or open an issue on GitHub.

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Consult the recommended textbooks and additional resources for deeper understanding of this topic.

This topic covers the fundamental principles and applications in depth. Each concept is explained with clear definitions, worked examples, and practice problems to reinforce understanding.

Understanding these core concepts is essential for mastering this topic. They form the foundation for more advanced study and are frequently examined.

Worked examples demonstrate how to apply the concepts to solve problems. Each example is broken down into clear steps with explanations.

  • Rushing through foundational material
  • Not practising problems after reading
  • Failing to connect concepts across topics

Consult the recommended textbooks and additional resources for deeper understanding of this topic.