static-cast

Ein C ++ - Operator zum Konvertieren von einem Typ in einen anderen, wobei nur Informationen zum statischen Typ des Objekts verwendet werden, das umgewandelt wird
4
Antworten

c ++ static_cast und Referenzen

%Vor% (* 1) erzeugt einen Fehler und ich verstehe warum. (* 2) Kompiliert gut, aber warum? Und, solange es kompiliert und annimmt, dass B einige Attribute enthält, was passiert, wenn ich a_ref auf B& umwandle und dann versuche, auf...
30.10.2013, 13:03
5
Antworten

Wie implementiere ich eine Kompilierzeitprüfung, dass ein Downcast in einem CRTP gültig ist?

Ich habe eine einfache alte CRPT (bitte lassen Sie sich nicht von Zugangsbeschränkungen ablenken - die Frage ist nicht über sie): %Vor% das ist wie üblich so zu verwenden: %Vor% Nun, dass static_cast mich stört. Ich brauche einen Down...
06.05.2011, 06:41
6
Antworten

Doppel-Array in eine Double-Struktur umwandeln

Ist es OK, ein Double-Array in eine Double-Struktur umzuwandeln? %Vor% Dies druckt 1 2 3 . Aber ist es garantiert immer mit jedem Compiler zu arbeiten? EDIT: Nach    9.2.21: Ein Zeiger auf ein Standard-Layout-Strukturobjekt, passend...
26.06.2015, 21:26
4
Antworten

Virtuelle Funktionen und Umwandlung in void und zurück

Momentan arbeite ich mit einer Legacy-C ++ - Code-Basis. In dieser Codebasis werden Zeiger auf Objekte in void-Zeiger konvertiert und dann in einer C-Bibliothek gespeichert. Betrachten Sie den folgenden Code: %Vor% Die Objekte interface u...
21.08.2015, 07:30
2
Antworten

reinterpret_cast für fast pod-Daten (ist Layoutkompatibilität genug)

Ich versuche etwas über static_cast und reinterpret_cast zu erfahren. Wenn ich richtig bin, sagt der Standard (9.2.18), dass reinterpret_cast für Pod-Daten sicher ist:    Ein Zeiger auf ein POD-struct-Objekt,   geeignet umgewandel...
20.02.2011, 23:31
1
Antwort

Casting auf den gleichen Typ

Ich habe diesen Fall: %Vor% Wenn T classA ist, ist das Casting ein Muss. Im Fall von T ist classB das Casting ist überflüssig. Wird der zweite Casting standardmäßig fallengelassen (kein ausführbarer Code mehr), da dies nicht notwend...
17.08.2016, 05:40
2
Antworten

Darf ich ein Beispiel aus dem wirklichen Leben haben, in dem casting void * funktioniert und reinterpret_cast nicht funktioniert?

Es gibt eine Reihe von Fragen in Bezug auf Crosscasts (Cast von T1* auf nicht verwandte T2* ), zum Beispiel dies und dies . Die Antwort lautet normalerweise wie folgt: reinterpret_cast ist die Implementierung definiert und die Konvert...
06.07.2011, 10:24