ol operator<(const Obj& a. con

Автор admin Понедельник, 8 июня 2009 11:32

ol operator<(const Obj& a. const Obj& b) { return a.val < b.val: } friend bool operator==(const Obj& a. const Obj& b) { return a.val == b.val: } friend ostreamS operator«(ostream& os. const Obj& a) { return os « a.val: } }: struct ObjGen { Obj operatorOO { return ObjO; } }: Основные последовательные контейнеры 367 int mainO { const int SZ = 5000; srand(time(0)); list<0bj> lo; clock_t ticks = clockO: generate_n(back_inserter(lo). SZ. ObjGenO); lo.sortO: lo.unique(); cout « “list:” « clockO – ticks « endl; set<0bj> so: ticks = clockO; generate_n(inserter(so. so.begin()). SZ. ObjGenO); cout « “set:” « clockO – ticks « endl; print(lo); print(so): } ///:- При запуске программы выясняется, что множество работает гораздо быстрее списка. Впрочем, в этом нет ничего удивительного, ведь множества предназначены для хранения отсортированного набора уникальных элементов! В этом примере использован заголовок PrintContainer.h с шаблоном функции, выводящим содержимое любого последовательного контейнера в выходной поток. Определение PrintContainer.h выглядит так: //: С07:PrintContainer.h // Вывод последовательного конт


Комментарии закрыты.