On page 206 of Beginning C++17 ISBN: 9781484233665 published in 2018 you will find the following about smart pointers. Always use either the std::vector<> container (to replace dynamic arrays) or a smart pointer (to dynamically allocate objects and manage their lifetimes). These high-level alternatives are much, much safer than the low-level memory management primitives and will help you tremendously . . . Quote from the book While using std::vector<> is usually good, the opinion expressed … The Myth of Smart PointersRead more