[ Pobierz całość w formacie PDF ]
.ÿþRozdziaÅ‚ 9.ReferencjeW poprzednim rozdziale poznaÅ‚eÅ› wskazniki i dowiedziaÅ‚eÅ› siÄ™, jak za ich pomocÄ… możnaoperować obiektami na stercie oraz jak odwoÅ‚ywać siÄ™ do obiektów poÅ›rednio.Referencje majÄ…prawie te same możliwoÅ›ci, co wskazniki, ale posiadajÄ… przy tym dużo prostszÄ… skÅ‚adniÄ™.Z tego rozdziaÅ‚u dowiesz siÄ™:" czym sÄ… referencje," czym różniÄ… siÄ™ od wskaznikó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Ä… innegoobiektu, bÄ™dÄ…cego celem referencji.Od tego momentu referencja dziaÅ‚a jak alternatywna nazwacelu.Wszystko, co robisz z referencjÄ…, w rzeczywistoÅ›ci dotyczy jej obiektu docelowego.ReferencjÄ™ tworzy siÄ™, zapisujÄ…c typ obiektu docelowego, operator referencji (&) oraz nazwÄ™referencji.Nazwy referencji mogÄ… być dowolne, ale wielu programistów woli poprzedzać jej nazwÄ™ literÄ… r.JeÅ›li masz zmiennÄ… caÅ‚kowitÄ… o nazwie someInt, możesz stworzyć referencjÄ™ do niej piszÄ…c:int &rSomeRef = someInt;Odczytuje siÄ™ to jako: rSomeRef jest referencjÄ… do zmiennej typu int.Ta referencja zostaÅ‚azainicjalizowana tak, aby odnosiÅ‚a siÄ™ do zmiennej someInt. Sposób tworzenia referencji ikorzystania z niej przedstawia listing 9.1.UWAGA Operator referencji (&) ma taki sam symbol, jak operator adresu.Nie sÄ… to jednak tesame operatory (choć oczywiÅ›cie sÄ… ze sobÄ… powiÄ…zane).Zastosowanie spacji przed operatorem referencji jest obowiÄ…zkowe, użycie spacji pomiÄ™dzyoperatorem referencji a nazwÄ… zmiennej referencyjnej jest opcjonalne.Tak wiÄ™c:int &rSomeRef = someInt; // okint & rSomeRef = someInt; // okListing 9.1.Tworzenie referencji i jej użycie0: //Listing 9.11: // Demonstruje użycie referencji2:3: #include4:5: int main()6: {7: using namespace std;8: int intOne;9: int &rSomeRef = intOne;10:11: intOne = 5;12: cout
[ Pobierz całość w formacie PDF ]