| |
Juni 2003 C++-Diagramm: Diagramm für strukturierte Arten 1-21 1 //... WChar * wstring_alloc(ULong len); WChar * wstring_dup(const WChar * W); leeres wstring_free(WChar *); }; Diese Funktionen haben die gleiche Semantik, die die gleichen Funktionen für die Zeichenkette schreiben, ausgenommen sie an breite Zeichenketten laufen lassen. Eine compliant Diagramimplementierung liefert überbelastetes operator<< (Einfügung) und Operator > > (Extraktion) Operatoren für das Verwenden von WString_var und WString_out direkt mit C++-iostreams. Operator > > Extraktionoperator hat die gleiche Semantik wie der zugrundeliegende Operator des Standards C++ > > für das Extrahieren breite Zeichenketten von einem Eingangsstrom (extrahierend bis whitespace oder Dateiende). Raum zu speichern Sie die extrahierten Buchstaben werden zugeteilt, indem Sie wstring_alloc benennen und vorhergehender Inhalt des WString_var werden durch das Benennen von wstring_free freigegeben . 1,9 Diagramm für strukturierte Arten Das Diagramm für struct, Anschluß und Reihenfolge ist ein C++-struct oder -kategorie mit einer Rückstellung Erbauer, ein Kopienerbauer, ein Zuweisungsoperator und ein Verbrennungsofen. Die Rückstellung Erbauer initialisiert Gegenstandbezugsmitglieder zu passend-geschriebenem Nullgegenstand Hinweise und Zeichenkettemitglieder und breite Zeichenkettemitglieder zur leeren Zeichenkette ("" und L "" , beziehungsweise). Alle weiteren Mitglieder werden über ihre Rückstellungserbauer initialisiert. Kopienerbauer führt eine Tiefkopie von der vorhandenen Struktur durch, um ein neues zu verursachen Struktur, einschließlich des Benennens _ des Duplikates auf allen Gegenstandbezugsmitgliedern und Durchführen der notwendigen Haufenverteilungen für alle Zeichenkettemitglieder und breite Zeichenkette Mitglieder. Der Zuweisungsoperator befreit zuerst alle Gegenstandbezugsmitglieder und gibt alle Zeichenkettemitglieder und breite Zeichenkettemitglieder frei und führt dann eine Tiefkopie zu durch verursachen Sie eine neue Struktur. Der Verbrennungsofen befreit alle Gegenstandbezugsmitglieder und gibt frei alle Zeichenkettemitglieder und breite Zeichenkettemitglieder. Das Diagramm für OMG IDL strukturierte Arten (structs, Anschlüße, Reihen und Reihenfolgen) kann abhängig von etwas schwanken, ob die Datenstruktur längenkonstant ist oder Variable Länge . Eine Art ist mit variabler Länge wenn sie eine der folgenden Arten ist: ? die Art irgendwelche . ? A gesprungene oder unbegrenzte Zeichenkette oder breite Zeichenkette. ? A gesprungene oder unbegrenzte Reihenfolge. ? ein Gegenstandhinweis oder Hinweis auf einem transmissible Pseudo-Gegenstand. ? A valuetype . struct oder Anschluß des ? A, der ein Mitglied enthält, dessen Art mit variabler Länge ist. ? eine Reihe mit einer mit variabler Längeelementart. typedef des ? A zu einer mit variabler Längeart. Der Grund für die reparierten und mit variabler Länge Datenstrukturen Behandelns soll anders als gewähren mehr Flexibilität in der Verteilung von heraus Parameter und Rückkehrwerte von Betrieb. Diese Flexibilität erlaubt einen Klient-Seitenstummel für einen Betrieb, der a zurückbringt Reihenfolge der Zeichenketten (zum Beispiel, den ganzen Zeichenkettespeicher in einem Bereich zuteilen, der ist freigegeben in einem einzelnen Anruf). |  |
|
| |
|
|