Skip to content

Latest commit

 

History

History
93 lines (59 loc) · 2.33 KB

File metadata and controls

93 lines (59 loc) · 2.33 KB

cpp-learning

A personal repository for learning C++, practicing the language, and keeping track of exercises, experiments, and small projects along the way.

I'm learning C++ from the ground up, with a focus on understanding how the language actually works rather than just memorizing syntax.

Goals

  • Build a strong foundation in modern C++
  • Understand compilation, linking, memory, references, pointers, and object lifetimes
  • Get comfortable with the STL
  • Practice writing clean and readable C++
  • Improve problem-solving and DSA skills
  • Eventually use C++ for larger projects, including game and multiplayer development

Learning Resources

My main learning resource is:

I'll also use documentation, exercises, and small experiments whenever I want to explore a topic further.

Repository Structure

The structure will evolve as I progress, but generally:

cpp-learning/
├── exercises/
├── experiments/
├── projects/
└── README.md

exercises

Small exercises related to concepts I'm currently learning.

experiments

Short programs used to test or understand specific C++ behavior.

projects

Larger programs that combine multiple concepts together.

Development Environment

I'm learning and writing C++ primarily using:

  • Fedora Linux
  • Neovim
  • GCC / G++
  • Git
  • Lazygit
  • GitHub CLI

Compile a basic program with:

g++ main.cpp -o main

Run it with:

./main

As the projects become more complex, I'll introduce proper build tooling such as CMake.

Progress

This repository is intentionally a work in progress.

Code here may be incomplete, experimental, or written before I've learned the "better" way to do something. That's part of the purpose of the repository - being able to look back and see how my understanding of C++ improves over time.

Why C++?

I already have programming experience, mainly with C# and web development, and I'm learning C++ to get closer to lower-level programming concepts and better understand what happens underneath higher-level abstractions.

Long term, I'm especially interested in using C++ for:

  • Data structures and algorithms
  • Game development
  • Multiplayer/networked systems
  • Performance-sensitive software
  • Systems-level programming

Learning one .cpp file at a time.