r09-06.doc

39
Rozdział 9. Referencje W poprzednim rozdziale poznałeś wskaźniki i dowiedziałeś się, jak za ich pomocą można operować obiektami na stercie oraz jak odwoływać się do obiektów pośrednio. Referencje mają prawie te same możliwości, co wskaźniki, ale posiadają przy tym dużo prostszą składnię. Z tego rozdziału dowiesz się: czym są referencje, czym różnią się od wskaźników, jak się je tworzy i wykorzystuje, jakie są ich ograniczenia, w jaki sposób przekazywać obiekty i wartości do i z funkcji za pomocą referencji. Czym jest referencja? Referencja jest aliasem (inną nazwą); gdy tworzysz referencję, inicjalizujesz ją nazwą innego obiektu, będącego celem u referencji. Od tego momentu referencja działa jak alternatywna nazwa celu. Wszystko, co robisz z referencją, w rzeczywistości jest robione dotyczy z jej obiektu em docelowego . Referencję tworzy się, zapisując typ obiektu docelowego, operator referencji (&) oraz nazwę referencji.

Upload: greg

Post on 14-Sep-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Szablon dla tlumaczy

2

Cz I ( Podstawy obsugi systemu WhizBang (Nagwek strony)

Rozdzia 9.Referencje

W poprzednim rozdziale poznae wskaniki i dowiedziae si, jak za ich pomoc mona operowa obiektami na stercie oraz jak odwoywa si do obiektw porednio. Referencje maj prawie te same moliwoci, co wskaniki, ale posiadaj przy tym duo prostsz skadni.

Z tego rozdziau dowiesz si:

czym s referencje,

czym rni si od wskanikw,

jak si je tworzy i wykorzystuje,

jakie s ich ograniczenia,

w jaki sposb przekazywa obiekty i wartoci do i z funkcji za pomoc referencji.

Czym jest referencja?

Referencja jest aliasem (inn nazw); gdy tworzysz referencj, inicjalizujesz j nazw innego obiektu, bdcego celem referencji. Od tego momentu referencja dziaa jak alternatywna nazwa celu. Wszystko, co robisz z referencj, w rzeczywistoci dotyczy jej obiektu docelowego.

Referencj tworzy si, zapisujc typ obiektu docelowego, operator referencji (&) oraz nazw referencji.

Nazwy referencji mog by dowolne, ale wielu programistw woli poprzedza jej nazw liter r. Jeli masz zmienn cakowit o nazwie someInt, moesz stworzy referencj do niej piszc:

int &rSomeRef = someInt;

Odczytuje si to jako: rSomeRef jest referencj do zmiennej typu int. Ta referencja zostaa zainicjalizowana tak, aby odnosia si do zmiennej someInt. Sposb tworzenia referencji i korzystania z niej przedstawia listing 9.1.

UWAGAOperator referencji (&) ma taki sam symbol, jak operator adresu. Nie s to jednak te same operatory (cho oczywicie s ze sob powizane).

Zastosowanie spacji przed operatorem referencji jest obowizkowe, uycie spacji pomidzy operatorem referencji a nazw zmiennej referencyjnej jest opcjonalne. Tak wic:

int &rSomeRef = someInt; // ok

int & rSomeRef = someInt; // ok

Listing 9.1. Tworzenie referencji i jej uycie

0: //Listing 9.1

1: // Demonstruje uycie referencji

2:

3: #include

4:

5: int main()

6: {

7: using namespace std;

8: int intOne;

9: int &rSomeRef = intOne;

10:

11: intOne = 5;

12: cout