Tag: static-cast

Ein C++ – cast-operator zum konvertieren von einem Typ zu einem anderen, mit nur Informationen über den statischen Typ des Objekts geworfen

static_cast eine Schnittstelle auf abgeleitete Klasse

Anzahl der Antworten 1 Antworten
Ich versuche, static_cast ein interface-Objekt in ein Objekt der abgeleitete Klasse erbt die Schnittstelle. Ich erhalte eine Fehlermeldung 'static_cast' : cannot convert from 'IInherit *' in 'cDerived *' Der abgeleiteten Klasse und interface sind im folgenden format.

C++ static_cast Laufzeit-overhead

Anzahl der Antworten 1 Antworten
Siehe code unten. a) ist in diesem Fall (einfache Vererbung, keine virtuellen Mitglieder), die statische cast-in B::df() haben keine overhead (auch immer)? Ich fand einige widersprüchliche Antworten auf ähnliche Fragen, deshalb Frage ich... b) ich dachte über

Ungültige Typumwandlung mit static_cast, was richtige casting sollte ich verwenden?

Anzahl der Antworten 3 Antworten
Habe ich eine Art definition von typedef vector<Object*> ObjList; ich habe auch eine Funktion vector<BigObject*>* ObjectBox::getBigObjectList();. BigObject ist inhertied von Object Was ich wollte, zu tun ist, um eine vector<BigObject*>* aus getBigObjectList() und konvertieren Sie es in

Warum kann nicht static_cast verwendet werden, um nach unten geworfen wird, wenn virtuelle Vererbung beteiligt ist?

Anzahl der Antworten 6 Antworten
Betrachten Sie den folgenden code: struct Base {}; struct Derived : public virtual Base {}; void f() { Base* b = new Derived; Derived* d = static_cast<Derived*>(b); } Dies ist verboten, durch die standard ( [n3290: 5.2.9/2]

mit static_cast<Datentyp> to convert float to string c++

Anzahl der Antworten 4 Antworten
dies ist mein Erster "test" mit static_cast, die ich nie gemacht habe, also bitte Geduld mit mir (ich bin sehr neu in c++, erklärte vor 3 Tagen) //ConsoleApplication3.cpp : Defines the entry point for the console application.

Zugriff auf Unterklasse-Mitglieder von einer Oberklasse-Zeiger-C++

Anzahl der Antworten 5 Antworten
Ich habe ein array mit benutzerdefinierten Klasse Student-Objekte. CourseStudent und ResearchStudent beide Erben von Studenten, und alle Instanzen von Student sind, der einen oder der anderen dieser. Habe ich eine Funktion zum Durchlaufen des Arrays ermitteln, der

Der richtige Weg einen casting-Zeiger-Typen

Anzahl der Antworten 3 Antworten
Angesichts der folgenden code (und die Tatsache, dass VirtualAlloc() gibt einen void*): BYTE* pbNext = reinterpret_cast<BYTE*>( VirtualAlloc(NULL, cbAlloc, MEM_COMMIT, PAGE_READWRITE)); warum ist reinterpret_cast gewählt statt static_cast? Früher dachte ich, dass reinterpret_cast ist OK für z.B. casting-Zeiger zu

C++: nicht static_cast von double* , int*

Anzahl der Antworten 5 Antworten
Wenn ich versuche, mit einem static_cast, cast-einem double* auf einen int*, bekomme ich die folgende Fehlermeldung: invalid static_cast from type ‘double*’ to type ‘int*’ Hier ist der code: #include <iostream> int main() { double* p = new

Wie funktioniert qobject_cast Arbeit?

Anzahl der Antworten 1 Antworten
Fand ich den folgenden code in Qt und ich bin ein bisschen verwirrt, was hier passiert. Besonders, was reinterpret_cast<T>(0)? template <class T> inline T qobject_cast(const QObject *object) { //this will cause a compilation error if T is

static_cast mit boost :: shared_ptr?

Anzahl der Antworten 4 Antworten
Was ist das äquivalent von einem static_cast mit boost::shared_ptr? In anderen Worten, wie muss ich die umschreiben die folgenden Base* b = new Derived(); Derived* d = static_cast<Derived*>(b); bei der Verwendung shared_ptr? boost::shared_ptr<Base> b(new Derived()); boost::shared_ptr<Derived> d

Warum kann static_cast nicht zum Down-Cast verwendet werden, wenn virtuelle Vererbung beteiligt ist?

Anzahl der Antworten 6 Antworten
Betrachten Sie den folgenden code: struct Base {}; struct Derived : public virtual Base {}; void f() { Base* b = new Derived; Derived* d = static_cast<Derived*>(b); } Dies ist verboten, durch die standard ( [n3290: 5.2.9/2]

Warum kann ich nicht zwischen char * und unsigned char * static_cast?

Anzahl der Antworten 3 Antworten
Anscheinend ist der compiler hält Sie für nicht Verwandte Arten und damit reinterpret_cast erforderlich ist. Warum ist das die Regel? InformationsquelleAutor der Frage Nick | 2012-04-14

Sollte ich "static_cast" oder "reinterpret_cast" verwenden, wenn ich eine void * -Funktion auf irgendwas ausspiele

Anzahl der Antworten 4 Antworten
Beide static_cast und reinterpret_cast scheinen gut zu funktionieren für casting void* auf einen Zeiger-Typ. Gibt es einen guten Grund für einen über den anderen? InformationsquelleAutor der Frage Andy | 2008-11-21

C ++ kann nicht von Base A zu abgeleitetem Typ B über die virtuelle Basis A konvertieren

Anzahl der Antworten 7 Antworten
Habe ich drei Klassen: class A {}; class B : virtual public A {}; class C : virtual public A {}; class D: public B, public C {}; Versucht, eine statische Besetzung von A* zu B* bekomme

Was ist der Unterschied zwischen static_cast & lt; & gt; und C-Stil Gießen?

Anzahl der Antworten 7 Antworten
Gibt es irgendeinen Grund zu bevorzugen static_cast<> über C-style casting? Sind Sie äquivalent? Ist Ihr jede Art von speed-Unterschied? Kommentar zu dem Problem Verwandte: stackoverflow.com/questions/103512/... Kommentarautor: Flow InformationsquelleAutor der Frage dicroce | 2009-10-22