prvalues vs xvalues vs glvalues vs lvalues vs rvalues
RVO, the video is not watched it yet, watched it tomorrow if NRVO does not happen move is quaranteed
RVO is better than std::move
If an explicit destructor is defined the compiler wont generate an implicite move and copy constructors for me