2016-11-22 3 views
0

Ich frage mich, ob Typenlöschtechniken überall in C Sprache verwendet werden. Was passiert in C, wenn das Typgießen durchgeführt wird? Werden ähnliche Konzepte wie beim Löschen und beim Down Casting verwendet?Gibt es ein Löschungskonzept in C-Sprache?

Worin besteht der Hauptunterschied zwischen Typlöschen und Typgießen?

+1

C hat keine latenten Typen, es gibt also nichts zu löschen. – Barmar

+0

Hier ist eine ['C++' Frage] (http://stackoverflow.com/questions/6089498/type-erasure-for-methods-with-differing-in-return-types) FYI. –

+0

Was ist der Hauptunterschied zwischen dem Typ löschen und Gießen? – NaveeNeo

Antwort

1

Sind Sie ein Java-Entwickler?
Wenn ja, müssen Sie eine Menge Dinge vergessen und lernen Sie eine Menge.

Downcasting bedeutet Vererbung. Das ist also nicht C.

C fast alles etwas abgeben kann (C geht davon aus, dass Sie wissen, was Sie tun, im Gegensatz zu Java, C# und anderen)

Typ Löschung ist ein Java-Konzept, weil JRE doesn‘ Ich habe Generics zur Laufzeit, nur Rohtypen.

In C haben Sie nur Binärcode zur Laufzeit, genau wie in Assembly und das ist alles was wir brauchen blitzschnelle ausführbare Dateien (Denken Sie daran, dass fast jeder Compiler, Framework oder virtuelle Maschine in C oder C++ gebaut ist).

In C gibt es keine RTTI (Run-Time Type Information) und wir brauchen das nicht, weil das Ziel von C direkt über das Metall programmiert ist.