Was ist undurchsichtiger Typ in C?
Was ist undurchsichtiger Typ in C?

Video: Was ist undurchsichtiger Typ in C?

Video: Was ist undurchsichtiger Typ in C?
Video: Rvalue-Referenzen - "Move-Semantik in C++" (5/7) 2024, November
Anonim

Opake Typen sind zum Teil eine Möglichkeit, C eher objektorientiert. Sie ermöglichen eine Kapselung, sodass die internen Details von a Typ kann sich ändern – oder in verschiedenen Plattformen/Situationen unterschiedlich implementiert werden – ohne dass sich der Code, der ihn verwendet, ändern muss.

Wenn man dies im Auge behält, was ist der undurchsichtige Datentyp in C?

Ein undurchsichtiger Datentyp ist ein Typ deren Implementierung dem Benutzer verborgen bleibt. Die einzige Möglichkeit zu verwenden undurchsichtiger Datentyp erfolgt über eine abstrakte Zeigerschnittstelle, die in der API verfügbar gemacht wird. Ein berühmtes Beispiel ist die DATEI Datentyp in dem C Standard-I/O-Bibliothek. h) und stellen auch eine benutzerfreundliche Zeigerschnittstellendeklaration bereit.

Zweitens, was ist ein undurchsichtiger Wert? " Undurchsichtig " ist im Englischen definiert als "nicht durchschaubar; nicht transparent". In der Informatik bedeutet dies a Wert die keine Details außer der Art der Wert selbst. Die Leute verwenden oft den C-Typ FILE als klassisches Beispiel, aber oft ist dies nicht der Fall undurchsichtig - die Details werden in stdio enthüllt.

Was ist außerdem eine undurchsichtige Struktur?

In der Informatik und undurchsichtig Datentyp ist ein Datentyp, dessen konkrete Daten Struktur ist nicht in einer Schnittstelle definiert. Dies erzwingt das Verbergen von Informationen, da seine Werte nur durch Aufrufen von Unterprogrammen manipuliert werden können, die Zugriff auf die fehlenden Informationen haben.

Was ist der beste Weg, um opake abstrakte Datentypen in C zu implementieren?

Eine Eins gute Möglichkeit ist für Clients die Verwendung von Strukturzeigern (vielleicht zusätzlich hinter typedefs versteckt), die auf Struktur zeigen Typen die nicht öffentlich definiert sind.

Empfohlen: