// Objekt zur Verwaltung durch den Vektor deklarieren
class TXYValue
{
public:
double x;
double y;
TXYValue(double dx, double dy);
{
x = dy;
y = dy;
}
~TXYValue(void);
};
// Liste, die Zeiger auf Objekte vom Typ TXYValue verwaltet, deklarieren
// #include <vector> für std::vector nicht vergessen!
std::vector<TXYValue*> InputValues;
// 3 Objekte hinzufügen
InputValues.push_back(new TXYValue(0.1, 0.2));
InputValues.push_back(new TXYValue(0.4, 0.2));
InputValues.push_back(new TXYValue(0.6, 0.8));
// erstes Objekt anhand des Indexes holen
TXYValue *pXY = InputValues[0];
// alle Objekte im Vektor löschen
// dabei Liste durchgehen und alle Objekte im Speicher zerstören (delete)
for (int i = 0; i < InputValues.size(); i++)
{
TXYValue *pXY = InputValues[i];
if (pXY) delete pXY;
}
InputValues.clear(); // zuletzt noch alle Zeiger in der Liste löschen
// erstes Element im Vektor löschen
TXYValue *pXY = InputValues[i];
if (pXY) delete pXY;
InputValues.erase(InputValues.begin());
// als erstes ein Struct definieren, in dem ein
// Vergleichsoperator für die Sortierung implementiert wird
struct SDESCSort
{
// Liste absteigend anhand des y-Wertes sortieren
bool operator()(TXYValue *V1, TXYValue *V2)
{
return (V1->y > V2->y);
};
};
// Aufruf der Sortierung
// #include <algorithm> für std::sort nicht vergessen!
std::sort(InputValues.begin(), InputValues.end(), SDESCSort());