GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - RidaCode/cpp-learning

BranchesTags
Open more actions menu

Latest commit

 

History

139 Commits
139 Commits

Folders and files

NameName
Last commit message
Last commit date
.githooks
.githooks
 
 
exercises
exercises
 
 
experiments
experiments
 
 
projects
projects
 
 
.clang-format
.clang-format
 
 
.clang-tidy
.clang-tidy
 
 
.clangd
.clangd
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
README.md
README.md
 
 
compile_flags.txt
compile_flags.txt
 
 

Repository files navigation

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:

  • LearnCpp.com

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.

About

No description, website, or topics provided.

Resources

Readme
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.