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;
}
voidnic 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
- 1Wyzerowanie zmiennejUstaw przekazaną zmienną na 0.Otwórz w Pracowni →
- 2Przycięcie wartości do zakresuZałożono, że minimum <= maksimum.Otwórz w Pracowni →
- 3Dzielenie z resztą przez parametry wyjścioweDla b != 0 zapisz w iloraz wynik a / b, a w reszta wynik a % b, zgodnie z regułami dzielenia…Otwórz w Pracowni →