union und struct in c++ ohne namen
Verfasst: 27.01.2010 13:38
Hallo liebe C(++)-Freunde,
ich hab folgendes Problem.
Ich habe hier eine fertige float4-Klasse, die ich gerade mit SSE2 erweitere, damit's schneller geht.
Die vorhandene Struktur sieht so aus, wobei t_scalar ein float ist.
Jetzt möchte ich aber gerne eine union haben, die parallel zu diesen vier floats, noch eine Variable m vom Typ __m128 bereitstellt, sodass sich m und x, y, z, w den selben Speicherplatz teilen. Ich hab da zunächst an folgendes gedacht:
Allerdings geht das so nicht, weil man anscheinend der struct einen Namen geben muss.
Ich will später ein Objekt vom Typ float4 erstellen und dann wie gewohnt direkt auf x, y, z und w zugreifen können, ohne noch irgendwas davor schreiben zu müssen.
Kann man sowas bewerkstelligen? Der Hintergrund dabei ist, dass das Programm außenrum schon fertig ist und fleißig die Member x, y, z und w benutzt. Und daran will ich nichts ändern.
Danke schon mal für etwaige Hilfestellungen, Ideen oder Vorschläge!
ich hab folgendes Problem.
Ich habe hier eine fertige float4-Klasse, die ich gerade mit SSE2 erweitere, damit's schneller geht.

Die vorhandene Struktur sieht so aus, wobei t_scalar ein float ist.
Code: Alles auswählen
t_scalar x, y, z, w;
Code: Alles auswählen
union {
struct { t_scalar x, y, z, w }
__m1288 m;
}
Ich will später ein Objekt vom Typ float4 erstellen und dann wie gewohnt direkt auf x, y, z und w zugreifen können, ohne noch irgendwas davor schreiben zu müssen.
Code: Alles auswählen
float4 a();
a.irgendwas.x = 1.f //so nicht
a.x = 1.f //aber so
Danke schon mal für etwaige Hilfestellungen, Ideen oder Vorschläge!