c++ - Sorting vector of pointers -
i need sort collection of element. there specific advantage of sorting vector of element* i.e
std::vector<element*> vectref; to sorting vector of element.
std::vector<element> vect; assuming write comparator accordingly.
element struct show below:
struct element { record *elm; element(record *rec) { elm = new record(); //...copy rec } ~element() { delete elm; } };
how expensive element's copy constructor? deep copy of contained record object? sorting vector<element> require many copies of element objects unless swap overloaded properly. i'm not sure rules whether sort must use swap , if must use user's overloaded version of swap; http://accu.org/index.php/journals/466 has information that. sorting vector<element*> copying pointers around, cheaper. c++0x changes this, assuming element has efficient move constructor , move assignment operator.
Comments
Post a Comment