Suchergebnisse für Anfrage "unions"

5 die antwort

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). ...

4 die antwort

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 ...

4 die antwort

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 ...

TOP-Veröffentlichungen

14 die antwort

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 ...

2 die antwort

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. ...

4 die antwort

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 ...

4 die antwort

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 ...

4 die antwort

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: ...

2 die antwort

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 ...

6 die antwort

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 ...