Suchergebnisse für Anfrage "unions"
Zugriff auf inaktives Gewerkschaftsmitglied und undefiniertes Verhalten?
Ich hatte den Eindruck, dass der Zugriff auf einunionin anderes Mitglied als der letzte Satz ist UB, aber ich kann anscheinend keine solide Referenz finden (außer Antworten, die behaupten, es sei UB, aber ohne Unterstützung durch den Standard). ...
Gibt es eine elegante Möglichkeit, Referenzen in C ++ auszutauschen?
Manchmal verweisen Klassen auf andere Klassen. Implementierung vonstd::swap() für solche Klassen kann nicht einfach sein, da dies zum Austauschen von Originalinstanzen anstelle von Referenzen führen würde. Der folgende Code veranschaulicht ...
Wie C struct nur einen anderen Strukturtyp umwandeln, wenn ihre Speichergröße gleich ist?
Ich habe 2 Matrixstrukturen, bedeutet gleiche Daten, habe aber eine andere Form wie diese: // Matrix type 1. typedef float Scalar; typedef struct { Scalar e[4]; } Vector; typedef struct { Vector e[4]; } Matrix; // Matrix type 2 (you may know ...
gcc, Strict-Aliasing und Casting durch eine Union
Hast du irgendwelche Horrorgeschichten zu erzählen? Das GCC-Handbuch hat kürzlich eine Warnung bezüglich -fstrict-aliasing und des Umsetzens eines Zeigers durch eine Union hinzugefügt: [...] Wenn Sie die Adresse nehmen, den resultierenden ...
Constructor und Copy-Konstructor für Klassen mit Union mit nicht-trivialen Mitgliedern
Ich versuche, einen benutzerdefinierten Variantentyp zu implementieren, der eine Union zum Speichern von Daten verschiedener Typen verwendet. Im Feldtype_id Ich habe vor zu speichern, von welchem Typ die in der Union gespeicherten Daten sind. ...
Wie man einen Destruktor für eine gewerkschaftsähnliche Klasse schreibt
Ich versuche, eine Union (C ++) zu verwenden, die einige nicht-primitive Variablen enthält, aber ich versuche nicht, den Destruktor für diese Klasse zu erstellen. Wie ich gelesen habe, ist es nicht möglich zu erraten, welche Variable der Union ...
Müssen uneingeschränkte Gewerkschaften neu platziert werden und eine Konstruktordefinition?
Die Beispiele, die ich für uneingeschränkte Gewerkschaften gesehen habe, scheinen beim Konstruieren immer die neue Platzierung zu verwenden. Der Wikipedia-Artikel für C ++ 11-Features verwendet die Platzierung new im Konstruktor einer ...
union 'punning' structs w / "common initial sequence": Warum schreibt C (99+), aber nicht C ++, eine 'sichtbare Deklaration des Unionstyps' vor?
HintergrunDiskussionen über die meist nicht oder nur in der Implementierung definierte Art des Type-Punings über einunion zitiere normalerweise die folgenden Bits, hier via @ecatmur https: ...
Auf inaktive Mitglieder des gleichen Typs in Gewerkschaften zugreifen
Ich habe so etwas: union DataXYZ { struct complex_t { float real, imag; } complex; struct vector_t { float magnitude, phase; } vector; };Ich habe einige Vektoren davon, die Allzweckarbeitsspeicher sind, in denen ich die Felder entsprechend nach ...
Erklärung zu einem Beispiel für Gewerkschaften im C11-Standard
Das folgende Beispiel ist im C11-Standard angegeben, 6.5.2.3 Folgendes ist kein gültiges Fragment (da der Vereinigungstyp in Funktion f nicht sichtbar ist): struct t1 { int m; }; struct t2 { int m; }; int f(struct t1 *p1, struct t2 *p2) { if ...