Skip to content

pranavbajoria93/CppND-Memory-Management-Chatbot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPPND: Memory Management Chatbot

This is the project for the third course in the Udacity C++ Nanodegree Program: Memory Management.

The ChatBot code creates a dialogue where users can ask questions about some aspects of memory management in C++. After the knowledge base of the chatbot has been loaded from a text file, a knowledge graph representation is created in computer memory, where chatbot answers represent the graph nodes and user queries represent the graph edges. After a user query has been sent to the chatbot, the Levenshtein distance is used to identify the most probable answer. The code is fully functional as-is and uses raw pointers to represent the knowledge graph and interconnections between objects throughout the project.

The project showcases the power of smart pointers, ownership and memory allocation in modern c++. Efficient memory management in the project is achieved by transferring ownership of unique smart pointers and overloading the copy and move constructors and assignment operators (rule of 5) and applying other memory management guidelines.

Dependencies for Running Locally

Basic Build Instructions

  1. Clone this repo.
  2. Make a build directory in the top level directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./membot.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 49.3%
  • C++ 31.6%
  • C 11.1%
  • CMake 8.0%