c++ explained