Krishty hat geschrieben:Klar; nur Sprache wurde erfunden, damit der Nachwuchs nicht jedes Mal aufs Neue vom Säbelzahntiger gefressen werden muss.
Wäre doch schade wenn wir – statt einfach auf die richtigen Leute zu hören – irgendwann an einem Punkt ankämen, an dem man 15 Jahre lang Fehlentscheidungen durchmachen muss um zu lernen, wie man richtig Software mit C++ entwickelt, und wenn man es dann endlich raus hat, entwickelt die ganze Welt nur noch durch Zusammenstecken von Wrappern jahrzehntealter Bibliotheken in C# und JavaScript.
Oh.
Sehe ich genauso und darum danke für den Schubs in die richtige Richtung, in 5min war alles erledigt :D Leider ist das mit dem jahrzehntealten Bibliotheken irgend wie Standard, hab zumindest teilweise das Gefühl. Mit JavaScript wird einfach jquery und co benutzt für simple Aktionen wie einen fadein/out, selber machen mag kaum noch wer.
Nun hab ich leider ein letztes Problemchen mit dem Union in der Matrix klasse, denn es klappt so wie folgt nicht. Kann mir bitte einer erklären an was das liegt?
Code: Alles auswählen
template<typename T, size_t I, size_t J>
class MatrixAccessors
{
Vector_t<T, J> m_Data[I];
};
template<typename T>
class MatrixAccesors<T, 3, 3>
{
Union
{
Vector_t<T, 3> m_Data[3];
struct
{
Vector_t<T, 3> a, b, c;
};
};
};
template<typename T, size_t I, size_t J>
class Matrix_t : MatrixAccessors<T, I, J>
{
..
};
Edit:
Der obige Code hatte ich aus dem Kopf getippt, hab meinen Laptop seit 3 Tage verlegt, kann also nicht copy&pasten, habs jedenfalls nochmals überprüft und müsste soweit stimmen. Beim kompilieren krieg ich keine Fehler oder Warnungen.
Ich definiere:
Der Defaultkonstruktor erstellt eine Einheits-Matrix, kann ich per m.GetValue(0,0), m.GetValue(1,1),... überprüfen. Soweit alles Korrekt. Jedoch stehen sämtlich Werte auf -107374176, also m.a.x, m.a.y, m.a.z, m.b.x,.....