2010-11-25 4 views
0

Dies ist der Punkt, von ISO: Standard Conversions: Array-zu-Zeiger-Konvertierung: $ 4.4: Qualifikation Wandlungen/6. PunktStandardumwandlungen: Qualifikation Konvertierungen

  • Fortsetzung für die Frage:

standard conversions:Qualification conversions

 Two multi-level pointer to member types or two multi-level mixed pointer 
    and pointer to member types T1 and T2 are similar if there exists a type T 
    and integer n > 0 such that: 

    T 1 is cv 1 , 0 P 0 to cv 1 , 1 P 1 to . . . cv 1 , n − 1 P n − 1 to cv 1 , n T 
          and 
    T 2 is cv 2 , 0 P 0 to cv 2 , 1 P 1 to . . . cv 2 , n − 1 P n − 1 to cv 2 , n T 

Was es gedacht? Bitte überprüfen Sie auch die vorherige Frage? Kann jemand dies erklären. Wenn möglich, geben Sie das Beispiel .. Was eigentlich für diese Form bedeutete. Kann jemand elaborate, wenn es möglich ist.

andere Frage:

Warum der Standard für solche form.Is es aus irgendeinem Grund fo das wird?

+0

Verstehst du, warum du 'T **' nicht in 'T const **' ohne Casting umwandeln kannst? –

Antwort

0

Diese Regel ist Teil der Regeln, die Ihnen sagen, ob es eine Konvertierung von int*const* zu int volatile** gibt. Sie können sehen, dass sie ähnlich sind, weil sie beide zwei Ebenen der Indirektion weg von int sind.

Wenn zwischen zwei ähnlichen-Typen konvertiert wird, haben Sie für Ähnliche Typen, um die Konvertierungsregeln zu verwenden. Es gibt verschiedene Regeln beim Konvertieren zwischen zwei Typen, die nicht ähnlich sind.

Verwandte Themen