Operacje na wskaźniku na tablicę.

0

Witam, przekazując wskaźnik na tablicę, można z niego korzystać na 2 sposoby, tutaj jest prosty przykład.

void clearArray(int *arr, int size)
{
    for(int i = 0; i < size; i++)
    {
//        *arr = 0;
//        arr += 1;

//        arr[i] = 0;
    }
}

Które podejście jest lepsze? Jest między nimi jakaś różnica? Albo "best practice" mówiące jak na takim wskaźniku operować?

3

Kompilatory w większości przypadków utworzą identyczny kod, więc wydajnościowo nie ma się co przejmować. Co do czytelności, to sprawa zależy od tego, co robisz. W tym przypadku zapis wyglądający jak tablica wydaje się znacząco czytelniejszy.

2

Zero różnicy:
https://godbolt.org/g/RsDc1f

1 użytkowników online, w tym zalogowanych: 0, gości: 1