Hoffe ist verständlich?
Noe !
die 3 Koordinaten in einem struct als VEKTOR
aehm struct als vector ?
also sowas:
|
C Quellcode
|
1
2
3
4
|
struct MyStructT
{
unsigned int koords[3];
};
|
wenn du ne feste (kleine)anzahl an elementen hasst solltest da keinen vector ddraus machen ... sondern ne wirkliche struct ... in deinem Fall bietet sich soqas an wie
|
C Quellcode
|
1
2
3
4
5
6
|
struct Point3dT
{
unsigned int x;
unsigned int y;
unsigned int z;
};
|
DIe chance das du mal auf 4 dimensional switschen musst ist doch gering oder ?
genau so brauchst du keinen index operator um auf die richtige dimension zugreifen zu muessen oder ? oder planst du den fall das du den wert einer dimension mittels eines indexes variabel abfragen willst (dann brauchst nen array)
Variable menge speichern ist eigentlich immer ne Aufgabe dynamischer speicherverwaltung ....
viele viele elemente speichert man z.b. so
|
C Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
unsigned int anz = 3678;
Point3dT * pPointers = (Point3dT *) malloc(anz * sizeof(Point3dT ));
// nu kann man auf den structuren mittels zeigeerops zugreifen ...
// zb. alle auf werte setzen ...
for(Point3dT * pIdex = pPointers ; pIdex != &pPointers[3678] ; ++ pIdex)
{
pIdex->x = 0;
pIdex->y = 1;
pIdex->z = 2;
}
// oder auch per index zugriff
for(int i = 0 ; i < 3678 ; ++ i)
{
pIdex[i].x = 0;
pIdex[i].y = 1;
pIdex[i].z = 2;
}
|
Vektoren gibts in der Mathematik
In C (und damit c++ auch) gibts nur Arrays
In c++ gibts dann auch ne vector klasse die ne impl eines dynamischen Arrays im C Sinne ist (mit ner menge comfort funktionen)
Ciao ...