Delete overload in C++
C++11 introduced a way to disable (delete) methods from being used. It is mostly used to delete certain operators. The classic case is the implementation of
std::unique_ptr. The copy constructor and assignment operator are deleted, so it is not possible to copy a unique pointer.