Referencje 155
Referencje 155
ANALIZA:
W linii 8 deklarujemy zmienną lokalną int Jeden, a w linii 9 referencję do niej o nazwie rReferencja. Zauważ, że referencja jest od razu inicjalizowana. Gdybyśmy pominęli inicjalizację, kompilator zgłosiłby błąd. Referencja musi być inicjalizowana.
W linii 11 zmiennej int Jeden przypisujemy wartość 5. W liniach 12 i 13 wypisywane są wartości zawarte w int Jeden i w rReferencja. Zgodnie z oczekiwaniami są one takie same (rReferencja jest referencją do zmiennej int Jeden).
W linii 15 do rReferencja przypisujemy wartość 7. Ponownie widać, że wartość ta została przypisana do zmiennej int Jeden.
Jeśli pobierzesz adres referencji, to otrzymasz adres zmiennej, którą ta referencja reprezentuje. Taka jest natura referencji - są one odsyłaczami do obiektów docelowych. Demonstruje to listing 11.2.
1: // Listing 11.2
2: // Demonstracja użycia referencji
3:
4: #include <iostream.h>
5:
6: int main()
7: {
8: int intJeden;
9: int SrReferencja = intJeden;
10:
11: intJeden = 5;
12: cout « "intJeden: " « intJeden « endl;
13: cout « "rReferencja: " « rReferencja « endl;
14:
15: cout « "SintJeden: " « SintJeden « endl;
16: cout « "SrReferencja: " « SrReferencja « endl;
17:
18: return 0;
19: }
intJeden: 5 rReferencja: 5 SintJeden: 0x3500 SrReferencja: 0x3500
W linii 8 deklarujemy zmienną lokalną int Jeden, a w linii 9 referencję
ANALIZA:
do niej o nazwie rReferencja. Zauważ, że referencja jest od razu inicjalizowana. Gdybyśmy pominęli inicjalizację, kompilator zgłosiłby błąd. Referencja musi być inicjalizowana.
W linii 11 zmiennej int Jeden przypisujemy wartość 5. W liniach 12 i 13 wypisywane są wartości zawarte w int Jeden i w rReferencja, Zgodnie z oczekiwaniami są one takie same (rReferencja jest referencją do zmiennej int Jeden).
W linii 15 do rReferencja przypisujemy wartość 7. Ponownie widać, że wartość ta została przypisana do zmiennej int Jeden.
Jeśli pobierzesz adres referencji, to otrzymasz adres zmiennej, którą ta referencja reprezentuje. Taka jest natura referencji - są one odsyłaczami do obiektów docelowych. Demonstruje to listing 11.2.
1: // Listing 11.2
2: // Demonstracja użycia referencji
3:
4: Sinclude <iostream.h>
5:
6: int main()
7: {
8: int intJeden;
9: int SrReferencja = intJeden;
10:
11: intJeden = 5;
12: cout « "intJeden: " « intJeden « endl;
13: cout « "rReferencja: " « rReferencja « endl;
14:
15: cout « "SintJeden: " « SintJeden « endl;
16: cout « "SrReferencja: " « SrReferencja « endl;
17:
18: return 0;
19: )
intJeden: 5 rReferencja: 5 SintJeden: 0x3500 SrReferencja: 0x3500