| |
Juni 2003 C++-Diagramm: Diagramm für die irgendeine Art 1-55 1 das Any::from_wstring Helferart. Beide dieser Helferarten werden innen beschrieben Abschnitt 1,16,4, "Unterscheiden Boolesch, Oktett, Putzfrau, wchar, gesprungene Zeichenkette und gesprungenes Wstring, "auf Seite 1-59. Merken Sie, daß der folgende Code Verhalten in nichtstandardisiertem C++ undefined Klimas: // C++ Irgendein a =...; WC WChar; a > > = WC; // undefined Verhalten Dieser Code eine Ganzzahl irrtümlich extrahieren kann eintippen Klimas in denen wchar_t ist nicht eine eindeutige Art. Weil valuetypes dargestellt werden können erlaubterweise mit ungültigen Zeigern, ein Anpassen Anwendung kann einen ungültigen valuetypezeiger in irgendwie einsetzen . Art-sichere Einfügung von Reihen verwendet das Array_forany Arten innen beschrieben Abschnitt 1,14, ", abbildend für Reihe, schreibt, "auf Seite 1-48. Compliant Implementierungen muß eine Version von operator<< zur Verfügung stellen = überbelastet für jedes Array_forany Art. Z.B.: // IDL typedef langes LongArray[4][5 ]; // C++ typedef langes LongArray[4][5 ]; typedef langes LongArray_slice[5 ]; Kategorie LongArray_forany {... }; leeres operator<<=(Any u., const LongArray_forany u.); Das Array_forany Arten werden immer zum operator<< = geführt durch Hinweis auf const. Das nocopy Markierungsfahne im Array_forany ErbauerIST gewohnt zu steuern ob der eingesetzte Wert wird kopiert (nocopy == FALSCH oder verbraucht (nocopy == ZUTREFFEND Weil das nocopy Markierungsfahnenrückstellungen zu FALSCHEM ist kopiereneinfügung die Rückstellung. Wegen der Artmehrdeutigkeit zwischen einer Reihe von T und ein T * ist es in hohem Grade ausdrücklich empfohlen diesem beweglichen Code 12 verwenden Sie das passende Array_forany schreiben Sie wenn irgendwie eine Reihe in eingesetzt wird // IDL struct S {... }; typedef S SA[5 ]; 12.A, das implementor abbildet, kann das neue "ausdrückliche" C++-Schlüsselwort verwenden, um implizites con- zu verhindern Versionen durch das Array_forany Erbauer, aber diese Eigenschaft ist nicht noch weit vorhanden in den gegenwärtigen C++-Compilern. |  |
|
| |
|
|