An open API service indexing awesome lists of open source software.

https://github.com/bursasha/cpp-projects

Programming and algorithmization in C++ 🖥
https://github.com/bursasha/cpp-projects

algorithms big-o classes-and-inheritance cpp cvut-fit huffman-algorithm kmp-algorithm linked-list multimap oop queue set stl templates time-complexity unordered-map vector

Last synced: 2 months ago
JSON representation

Programming and algorithmization in C++ 🖥

Awesome Lists containing this project

README

          

# My C++ Programming University Projects 📚

## Hello there! 👋🏼

This repository showcases my university projects exploring object-oriented programming (OOP) in C++. 💻

## Repository Structure: 📁

* Each folder represents a project.
* You'll find:
* `... .cpp`: Files containing the code.
* `README.md`: Detailed project descriptions.

## Technology Stack 🔍

**Language:**
* C++

**Tools and Techniques:**
* **GCC/G++**: GNU Compiler Collection for compiling C++ programs.
* **GDB**: GNU Debugger for debugging C++ programs.
* **Make**: Utility for managing project builds.
* **Valgrind**: Tool for memory debugging, memory leak detection, and profiling.
* **CMake**: Tool for managing the build process in a compiler-independent manner.

**C++ Features:**
* **OOP Fundamentals**: Mastery of object-oriented programming concepts such as classes, inheritance, polymorphism, and encapsulation.
* **Abstract Data Types**: Implementation of various data structures including stacks, queues, expandable arrays (vectors), sets, and tables.
* **Templates**: Usage of templates for creating generic and reusable code components.
* **Copying/Moving Objects**: Understanding and implementing deep copy, shallow copy, move semantics, and resource management.
* **Operator Overloading**: Customizing the behavior of operators for user-defined types to improve code readability and usability.

**Standard Library and Modern C++:**
* **STL Containers**: Proficiency with the Standard Template Library (STL) containers like `vector`, `list`, `map`, `set`, and `unordered_map`.
* **STL Algorithms**: Usage of STL algorithms for efficient data manipulation and processing.
* **C++11/14/17/20 Features**: Familiarity with modern C++ standards, including lambda expressions, smart pointers (`unique_ptr`, `shared_ptr`), concurrency, and more.
* **Memory Management**: Effective use of dynamic memory allocation, RAII (Resource Acquisition Is Initialization), and smart pointers for resource management.

## What I Learned: 🧐

* **OOP Fundamentals:** Grasped the core concepts of OOP.
* **Abstract Data Types:** Implemented structures like stacks, queues, expandable arrays (vectors), sets, and tables.
* **Advanced C++ Features:** Utilized templates, object copying/moving, operator overloading, and more.

## Course Goals: ⚡️

* **Master C++ Foundations:** Gained a solid understanding of C++ structures and the standard library.
* **Harness Modern C++:** Learned powerful techniques from contemporary C++ standards.

## Check out my work! I'd love your feedback. 😊