Piszę dla 'potomnych', którzy tu być może zajrzą i być może zasugerują się tym, że
podając wskaźnik, wszystko będzie działać szybciej (...) a "zmienna referencyjna" pozwala ci po prostu podawać funkcji oryginalne argumenty, ale i tak musi tego adresu sobie poszukać.
Ooooookej, cała odpowiedź Crissa z przymrużeniem oka przejdzie - ale bez Jego ostatniego komentarza, który jest nieprawdą, a którego najbardziej mylący fragment zacytowałem wyżej. ;)
Referencji używa się wygodniej, niż wskaźnika, bo nie trzeba zaciemniać kodu operatorami dereferencji (gwiazdkami). Poza tym jest jedna drobna różnica, którą najlepiej wyjaśnię, po prostu cytując za
http://pl.wikibooks.org/wiki/C%2B%2B/Referencje
Referencja w swym działaniu przypomina wskaźniki. Różnica polega jednak na tym, że do referencji można przypisać adres tylko raz, a jej dalsze używanie niczym się nie różni od używania zwykłej zmiennej [tu moje wtrącenie: nie różni się od strony programisty, bo 'od kuchni' przekazywany jest sam adres, a więc nie ma kopiowania, co dla dużych obiektów daje profity wydajnościowe]. Operacje jakie wykona się na zmiennej referencyjnej, zostaną odzwierciedlone na zmiennej zwykłej, z której pobrano adres.