This repository contains C++ programs written to strengthen my programming fundamentals, improve problem-solving skills, and prepare for both software development and embedded systems programming.
It serves as a personal practice space for exploring OOP, STL, low-level memory concepts, and hardware-oriented C++ patterns.
This repository contains C++ programs that focus on:
- Object-oriented programming
- Memory management
- STL containers and algorithms
- Templates and generic programming
- Embedded-friendly low-level concepts
It is designed to help build strong foundations for system programming, competitive coding, and embedded firmware development using modern C++.
The main objectives of this repository are to:
- Build a strong foundation in modern C++ (C++11–C++20)
- Practice problem-solving and algorithmic thinking
- Strengthen OOP concepts such as inheritance and polymorphism
- Master STL containers, iterators, and algorithms
- Understand pointers, references, dynamic memory, RAII, and smart pointers
- Practice bitwise operations, memory layout, and embedded-oriented patterns
- Prepare for system-level development, microcontrollers, and firmware programming
This repository includes:
- Variables, loops, operators
- Functions, inline functions, default parameters
- Basic file handling and I/O
- Classes and objects
- Constructors, destructors
- Inheritance and polymorphism
- Virtual functions
- Operator overloading
- Friend functions/classes
- Vectors, lists, deques
- Stacks, queues, priority queues
- Maps, sets, unordered containers
- Iterators and STL algorithms
- Lambda expressions
- Pointer and reference basics
- Dynamic memory (new/delete)
- Memory safety
- Smart pointers (unique_ptr, shared_ptr)
- RAII principles
- Function templates
- Class templates
- Template specialization
- Modern type deduction
- Sorting and searching techniques
- Linked lists, stacks, queues
- Trees and graphs
- Recursion, dynamic programming, greedy methods
- Bitwise operations and masking
- Structures and unions
- Memory layout and alignment basics
- Simulated registers and I/O handling (mock)
- Writing C++ with embedded constraints
- Text and binary file operations
- Logging and debugging utilities
- Compiler: GCC
- Editor/IDE: VS Code, Keil uVision (optional for embedded C++)
- OS: Windows
- C++ Standard: C++17 or later
- Optional Tools:
- GDB debugger
- QEMU, Proteus, or any MCU IDE for embedded development
This repository contains C++ programs focused on OOP, STL, memory handling, low-level programming, and embedded-friendly C++.
It helps build strong fundamentals for system programming, competitive programming, and firmware development.