W budowie
Materiał edukacyjny · Informatyka

MODUŁ 05

Modyfikowalna referencja T& i parametry wyjściowe

Parametr T& jest referencją do obiektu wywołującego. Zmiana tego parametru zmienia oryginał. Używaj go wtedy, gdy modyfikacja jest częścią kontraktu.

W skrócie

Parametr T& jest referencją do obiektu wywołującego. Zmiana tego parametru zmienia oryginał. Używaj go wtedy, gdy modyfikacja jest częścią kontraktu.

Referencje mogą również przenosić dodatkowe wyniki, gdy główna wartość zwracana nie wystarcza. Każdy parametr wyjściowy musi być ustawiony zgodnie ze specyfikacją na wszystkich poprawnych ścieżkach działania.

Przykład

Zerowanie zmiennej i dzielenie z resztą na dwa wyniki.

void wyzeruj(int& x) {
    x = 0;
}

void ilorazIReszta(int a, int b, int& iloraz, int& reszta) {
    iloraz = a / b;
    reszta = a % b;
}
  • void nic nie zwraca — wyniki wychodzą referencjami.
  • Dzielenie całkowite w C++ ucina w stronę zera, także dla ujemnych.
Każdy wynik ma trafić na miejsceNiezainicjowany parametr wyjściowy na jednej ze ścieżek to klasyczny błąd.

Ćwiczenia