rendered paste body#include <stdio.h>#include <vector>#include <algorithm>class MyObj {public: int val; MyObj(int v) { this->val = v; }private:};std::vector<MyObj *> vec;void dumpArray(std::vector<MyObj *>& vec){ int i; fprintf(stderr,"Dump: "); for(i=0;i<99;i++) { fprintf(stderr,"<%p>", vec[i]); }; fprintf(stderr,"End Dump\n");}int compare(class MyObj *a, class MyObj *b){ fprintf(stderr,"%p %p\n", a, b); dumpArray(vec); return b->val - a->val;}int main(void){ int i; for (i = 0; i < 99; i++) { MyObj* newobj=new MyObj(i); fprintf(stderr,"Adding %p\n", newobj); vec.push_back(newobj); } dumpArray(vec); std::sort(vec.begin(), vec.end(), compare); return 0;}