STL Vector ausgeben

Moin,
im Prinzip genauso wie oben :rolleyes:
Mit einem Iterator durch den vector laufen, die einzelnen Elemente einem entsprechenden Objekt zuweisen, und mit <object.x> usw. ansprechen!
Gruß
Klaus
 
Meintest du sowas:

class myclass
{
public:
int x,y;
};

myclass ob1;
ob1.x = 10;
vector<myclass> Objekt;
vector<myclass>::iterator ptr_Objekt;
Objekt.push_back(ob1);
for(ptr_Objekt = Objekt.begin();ptr_Objekt=Objekt.end();ptr_Objekt++)
{
int x=ptr_Objekt->x;
}
das klappt auch ganz gut. Ein dirketer Zugriff ist aber nicht moeglich oder?:confused:
 
Hmm, ich hab mich falsch ausedrueckt. Ich wollte wissen, ob es denn noch eine andere Moeglichkeit gibt auf Objekt (vector<myclass> Objekt) zuzugreifen. Also nicht mit einem Iterator durch den vector laufen, sondern "direkt". Also in der Form:
Objekt[x](<objekt>.<element>)
Gruss
 
Nein, das kann nicht gehen, ist ja kein Array oder so ... :suspekt:

Es geht lt. meine Hilfe nur sowas:
vector::eek:perator[]@import url(stylesheets/msdn_ie4.css);const_reference operator[](size_type pos) const; reference operator[](size_type pos);Das habe ich aber noch nie verwendet!

Gruß
Klaus
 
PS: Und bitte verwendet die Code Tags
Jau, da ist bei letzten Post was schiefgelaufen ... :mad: mea culpa

Mal dumm gefragt, wenn dass so geht, wozu brauch ich dann die Iteratoren :confused:

Gruß
Klaus

EDIT: Blödsinn - alles klar ... hatte wohl eben 'nen kleinen Blackout :-( Ich nutze das hier ja genau so, wie Du es beschrieben hast, nur eben mit mit Iterator in der Schleife! Ich nehme also alles zurück und behaupte das Gegenteil ^^
 
Zuletzt bearbeitet:
Hallo,
ich werd diese Vectoren nicht mehr los. Hab ein neues Problem: ich wuerde gern einen 2d Vector belegen. Dieser vector hat wieder die Form vector<vector<MYclass>>.
Hab mir dazu folgendes ueberlegt:

#include<iostream>
#include<vector>
using namespace std;


class MyIndex
{
public:
double X;
double Y;
int index;
};

static vector<MyIndex> Dreieck(MyIndex&,MyIndex&,MyIndex&,vector<MyIndex>);
int main ()
{
MyIndex Punkt_a,Punkt_b,Punkt_c ;
vector<vector<MyIndex> > Objekt;
vector<MyIndex> Dreieck_;
vector<MyIndex>::iterator ptr_Punkte;
vector<vector<MyIndex> >::iterator ptr_Objekt;
//-------------------------------------------------------------
Punkt_a.X=10;
Punkt_a.Y=13;
Punkt_a.index=1;
Punkt_b.X=20;
Punkt_b.Y=23;
Punkt_b.index=2;
Punkt_c.X=30;
Punkt_c.Y=33;
Punkt_c.index=3;
//--------------------------------------------------------------



for (ptr_Objekt = Objekt.begin();ptr_Objekt != Objekt.end(); ptr_Objekt++)
{
vector<MyIndex> dreieck=Dreieck(Punkt_a,Punkt_b,Punkt_c,Dreieck_ );
Objekt.push_back(dreieck);
}

return 0;
}
static vector<MyIndex> Dreieck (MyIndex& Punkt_a,MyIndex& Punkt_b,MyIndex& Punkt_c,vector<MyIndex> Dreieck_)
{
Dreieck_.push_back(Punkt_a);
Dreieck_.push_back(Punkt_b);
Dreieck_.push_back(Punkt_c);
return(Dreieck_);
}


Gibt es denn noch eine andere Variante ohne UP?
Gruss
 
Moin,

ob dass alles so funktioniert, wage ich so aus dem Stand nicht zu beurteilen ... :rolleyes:

Aber wer oder was ist bitte "UP" ? ? ? :eek: :confused:

Gruß
Klaus
 
Zurück