Skip to content

About

Structured C17 and C++20 study notes on language fundamentals, memory, RAII, templates, containers, concurrency, and debugging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

C and C++ Study Notes

These are my personal study notes on C and C++, collected while learning programming fundamentals and working through small examples. They explain the language rules, memory model, standard library, and tools I want to remember when writing and reviewing programs.

Scope and language versions

The examples use C17 and C++20 as practical baselines. Compiler and library support can vary, so check the selected compiler version when using newer language or library features. The notes focus on portable language behavior and call out cases where implementation details matter.

The chapters move from compilation and C fundamentals into pointers, files, modern C++, resource ownership, templates, containers, concurrency, testing, and debugging. The final chapters gather the code examples and review questions.

Core topics

  1. Toolchain, compilation, and the first program
  2. C types, objects, and lifetime
  3. Expressions and control flow in C
  4. C functions, headers, and linkage
  5. C arrays and strings
  6. C pointers and dynamic memory
  7. C structures, unions, and enumerations
  8. C files, streams, and errors
  9. C preprocessing and macros
  10. C++ types, references, const, and initialization
  11. C++ classes, constructors, and RAII
  12. C++ value categories and move semantics
  13. C++ templates and generic programming
  14. C++ containers, iterators, and algorithms
  15. C++ errors, exceptions, and value results
  16. Concurrency, threads, and atomics
  17. Build systems, debugging, and testing
  18. All code samples
  19. Complete questions and answers

How I use these notes

I keep these notes as a learning record and a reference for concepts I want to explain clearly. Read the chapters in order for a foundation, or jump directly to a topic when reviewing code. The examples are small enough to compile and inspect, with practice questions that encourage checking behavior rather than guessing.

Compiler diagnostics are part of the learning process. Build examples with warnings enabled, read the language and library references, and use sanitizers and a debugger when a program behaves unexpectedly.

Official and reference material

Links

Support

About

Structured C17 and C++20 study notes on language fundamentals, memory, RAII, templates, containers, concurrency, and debugging.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors