Freigeben über


Addition von Zeigertypen

Wenn einer der Operanden in einer Addition ein Zeiger auf ein Array von Objekten ist, muss der andere einen ganzzahligen Typ besitzen. Das Ergebnis ist ein Zeiger, der vom selben Typ wie der ursprüngliche Zeiger ist und auf ein anderes Arrayelement zeigt. Das folgende Codefragment veranschaulicht dieses Konzept:

short IntArray[10]; // Objects of type short occupy 2 bytes
short *pIntArray = IntArray;

for( int i = 0; i < 10; ++i )
{
    *pIntArray = i;
    cout << *pIntArray << "\n";
    pIntArray = pIntArray + 1;
}

Obwohl der Ganzzahlwert 1 zu pIntArray addiert wird, bedeutet dies nicht "1 zur Adresse addieren", sondern vielmehr "den Zeiger auf das nächste Objekt im Array richten", das 2 Bytes weiter ist (oder sizeof( int )).

Hinweis

Code in Form von pIntArray = pIntArray + 1 ist in C++-Programmen selten. Um ein Inkrement auszuführen, werden diese Formen bevorzugt: pIntArray++ oder pIntArray += 1.

Siehe auch

Referenz

Ausdrücke mit binären Operatoren