| |
1-42 Abbildende C++-Sprache, v1.1 Juni 2003 1 allocbuf Funktion und die Reihenfolge führen es zu freebuf wenn Sie es beendet werden. Das allocbuf und freebuf Funktionen werden auf Abschnitt 1,13,3 beschrieben, "zusätzlich Gedächtnismanagement arbeitet, "auf Seite 1-47. Der Kopienerbauer verursacht eine neue Reihenfolge mit dem gleichen Maximum und Länge wie die gegebene Reihenfolge, Kopien jede seiner Stromanpassungsglieder (Einzelteile null durch length-1 und Sätze die Freigabe AUSZURICHTENDE Markierungsfahne . Die ZuweisungsoperatorTiefkopien sein Parameter, alte Ablage wenn notwendig freigebend. Sie benimmt sich, als ob die ursprüngliche Reihenfolge über seinen Verbrennungsofen und dann die Quelle zerstört wird Reihenfolge mit dem Kopienerbauer kopiert. Wenn release=TRUE zerstört der Verbrennungsofen jedes der Stromanpassungsglieder (Einzelteile null durch length-1 und zerstört den zugrundeliegenden Reihenfolgenpuffer. Für eine unbegrenzte Reihenfolge wenn eine Neuverteilung an einer Änderung in der Länge notwendiges liegt und die Reihenfolge wurde mit dem release=TRUE verursacht Parameter in seinem Erbauer, die Reihenfolge gibt die alte Ablage für alle Elemente und den Puffer frei. Wenn Freigabe ist FALSCH unter diesen Umständen wird alte Ablage nicht für auch nicht freigegeben die Elemente oder für den Puffer vor der Neuverteilung wird durchgeführt. Nach Neuverteilung die Freigabe Markierungsfahne wird immer eingestellt, um AUSZURICHTEN . Für eine unbegrenzte Reihenfolge das maximum() Accessorfunktion bringt die Gesamtmenge zurück Zahl der Reihenfolgenelemente, die im gegenwärtigen Reihenfolgenpuffer gespeichert werden können. Dieses läßt Anwendungen wissen, wieviele Einzelteile sie in ein unbegrenztes einsetzen können Reihenfolge, ohne eine Neuverteilung zu veranlassen aufzutreten. Für eine gesprungene Reihenfolge maximum() bringt immer die Grenze der Reihenfolge zurück, wie in seiner Art OMG IDL gegeben Erklärung. Das length() Funktionen können verwendet werden, um die Länge von zugänglich zu machen und zu ändern Reihenfolge. Die Erhöhung der Länge einer Reihenfolge fügt neue Elemente am Endstück hinzu. neu-zusätzliche Elemente benehmen sich, als ob sie wenn die Reihenfolge zurückfallen-konstruiert werden Länge wird erhöht. Jedoch kann eine Reihenfolgenimplementierung tatsächliche Rückstellung verzögern Aufbau, bis ein neu-zusätzliches Element zuerst erreicht ist. Für Reihenfolgen der Zeichenketten und breite Zeichenketten, Rückstellungselementaufbau erfordert Initialisierung jedes Elements zu leere Zeichenkette oder breite Zeichenkette. Für Reihenfolgen der Gegenstandhinweise, Rückstellungselement Aufbau erfordert Initialisierung jedes Elements zu einem verwendbar-geschriebenen Nullhinweis. Für Reihenfolgen von valuetypes, erfordert Rückstellungselementaufbau Initialisierung von jedes Element zu einem ungültigen Zeiger. Die Elemente der Reihenfolgen anderer komplizierter Arten, so als structs und Reihenfolgen werden von ihren Rückstellungserbauern initialisiert. Anschlußreihenfolgen Elemente haben keine Anwendung-sichtbare Initialisierung; insbesondere eine Rückstellung konstruiertes Anschlußelement ist nicht für marshaling oder Zugang sicher. Reihenfolgenelemente von a grundlegende Art, wie ULong undefined Default-Werte. Die überbelasteten subscript Operatoren (operator[ ] Rückkehr das Einzelteil am gegebenen Index. Die non-constversion muß etwas zurückbringen, das als lvalue dienen kann (d.h., etwas, das Anweisung in das Einzelteil am gegebenen Index erlaubt), während das const Version muß Read-only-Zugang zum Einzelteil am gegebenen Index erlauben. |  |
|
| |
|
|