xD-vector oder 1D-vector
-
hallo
ist es besser mit einem mehrdimensionalen vector zu arbeiten oder mit mehreren eindimensionalen vectoren? d.h. was ist lieber z.B. eine 2D-Vector als matrix oder zwei 1D-vectoren zu benutzen? Warum?
hat das mit Speicherverwaltung oder schnelligkeit zu tun !!??Vielen Dank
-
2 1D Vektoren machen keinen 2D Vektor!
-
WTF ist ein 1D Vector? Ein Skalar?
[Edit:] ok, du redest von std::vector<T>
-
ness schrieb:
2 1D Vektoren machen keinen 2D Vektor!
Doch, zwei 1D vectoren der länge 2
-
ja ich rede von std::vector<T>
-
Übersichtlicher wird wohl ein vector< vector<T> > wenn du sowas machst:
vector<T> zeile1;
vector<T> zeile2;
...
vector<T> zeilen;dann blickst du doch irgendwann nicht mehr durch. Am besten schreib dir ne Klasse Matrix und speichere alles in EINEM vector<T> der Länge mxn und stelle vernünftige Zugriffsops zur Verfügung.
-
Ich hatte mal das:
template<class T,std::size_t dim> class multi_vec :public std::vector<multi_vec<T,dim-1> > {}; template<class T> class multi_vec<T,1> :public vector<T> {}; template<class T> class multivec<T,0>;
Oder so...
-
danke für alle
für ness
würdest du bitte dein Code erläutern bzw. kommentieren.
wieso hast du mit template gearbeitet statt eine einfache klasse
-
Das habe ich mal geschrieben. Ein template, damit man es für alle typen definieren kann. Der generische multo_vec (die erste definition) erbt einen vektor von multi_vec mit einer dimension weniger. Ein multi_vec mit einer dimension ist ein vektor, also leiten wir öffentlich ab. Einen vektor mit 0 Dimensionen gibts nicht.