Udostępnij za pośrednictwem


Dodawanie typów wskaźników

Jeśli jeden z argumentów operacji dodawania jest wskaźnik do tablicy obiektów, drugi musi być typu integralną.Wynik jest wskaźnikiem tego samego typu, jak oryginalny wskaźnik i wskazuje inny element tablicy.Poniższy fragment kodu ilustruje tę koncepcję:

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;
}

Chociaż integralną wartość 1 jest dodawana do pIntArray, nie oznacza "Dodaj 1 do adresu"; raczej oznacza "Dopasuj kursor do następnego obiektu w tablicy" co dzieje się być 2 bajty (lub sizeof( int )) away.

[!UWAGA]

Kod formularza pIntArray = pIntArray + 1 jest rzadko spotykane w języku C++ programów; Aby wykonać przyrostu, te formularze są preferowane: pIntArray++ lub pIntArray += 1.

Zobacz też

Informacje

Wyrażenia z operatory dwuargumentowe