| |
1-24 Abbildende C++-Sprache, v1.1 Juni 2003 1 Umwandlungsfunktionen wird nicht spezifiziert, um unterschiedliche Implementierungen zu erlauben, aber Umwandlungen müssen automatisch sein (d.h., sie müssen keinen ausdrücklichen Anwendungscode zu erfordern rufen Sie sie) hervor. Weil implizite Umwandlungen Probleme mit Compilern irgendeines C++ manchmal verursachen können und mit Codelesbarkeit, das T_var Arten stützen auch Mitgliedsfunktionen, die gewähren zwecks des Parameterüberschreitens ausdrücklich umzuwandelnde sie. Einen Rückholwert vom T_var erhalten kann eine Anwendung das _ retn(benennen) Funktion. 7 Für jedes T_var schreiben Sie, die Rückholarten von jedem des Gleichen dieser Funktionen die Arten gezeigt in Version 2,3 von Allgemeine GegenstandcAntrag-VermittlercArchitektur (CORBA) Diagramm: OLE Automatisierung und CORBA Kapitel, Diagramm der Automatisierungsarten zu Arten OMG IDL Tabelle für in , inout , aus und Rückholmodi für zugrundeliegende Art T beziehungsweise. Für T_var Arten die Rückhol T*& vom out() Mitgliedsfunktion, das out() Mitgliedsfunktions-Anruf- Löschung auf dem T * besessen durch das T_var Sätze es Gleichgestelltes zu ungültiger Zeiger und bringt dann einen Hinweis auf ihm zurück. Dieses soll korrektes Management zulassen vom T * besessen durch ein T_var wenn Sie als Heraus überschritten werden Parameter, wie innen beschrieben Abschnitt 1,22, "Argument, das Betrachtungen," auf Seite 1-103 führt. Ein Beispiel Implementierung solch eines out() Funktion wird unten gezeigt: // C++ T*& T_var::out() { // nehmen Sie an, daß PTR _ das T * Datenmitglied des T_var ist löschen Sie PTR _; PTR _ = 0; RückholcPtr _; } Ähnlich für T_var dessen entsprechende Art T der Arten wird von IDL zurückgegangen Betriebe als T * (sehen Sie "grundlegendes überschreitenes Argument und Resultat" das auf Seite 1-106), _ retn() Funktion speichert den Wert von T * besessen durch T_var in ein temporäres Zeiger, Sätze das T * zum Wert des ungültigen Zeigers und bringt dann das temporäre zurück. Ein T_var führen als: eine Anwendung kann benennen... in Parameter in() Mitgliedsfunktion von T_var inout Parameter inout() Mitgliedsfunktion aus Parameter out() Mitgliedsfunktion 7. Ein führendes Unterstreichen ist auf dem _ retn(erforderlich) Funktion zum Halten es vom Clashing mit verbraucherbestimmte Mitgliedsnamen der konstruierten Arten, aber führende Unterstreichen sind nicht erforderlich für das in() inout() und out() Funktionen, weil ihre Namen IDL-Schlüsselwörter sind, so können Benutzer nicht Mitglieder mit jenen Namen definieren. |  |
|
| |
|
|