The repository aims at familiarization of C++ topics while demonstrating through code.
-
Foundations
- Introduction (store data, vectors, control loops, functions, read from file, formatting printed board)
- A* search (discrete path planning through an ASCII Keyboard)
- Multifiles (header files, pointers (with various object types and with functions), build tools, maps and classes)
-
Object oriented approach and advanced concepts
- Structures, Classes, members, constructors, initialization, encapsulation, access specifiers
- Scope resolution, Accesor/Mutator functions, abstraction, private/static method
-
- Memory types (cache, virtual and structure of memory address)
- Memory areas (heap and stack)
- Dynamic memory allocation (heap)
- Resource copying policy (Rule of 3, Rule of 5)
- Smart pointers
-
Concurrency: Multi threads
- Running threads (concurrent program running multiple threads)
- passing data between threads
- use mutexes and locks to safely access shared data from various threads
- condition variable and message queues (implement a flexible message queue for flexible inter-thread communication)
-
Unit Testing
-
Sample Topics/Exercises