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++ 🖥
- Host: GitHub
- URL: https://github.com/bursasha/cpp-projects
- Owner: bursasha
- Created: 2022-07-13T16:32:01.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-06-16T15:03:57.000Z (over 1 year ago)
- Last Synced: 2025-04-03T11:45:34.937Z (7 months ago)
- Topics: 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
- Language: C++
- Homepage:
- Size: 156 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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. 😊