Hej, znalazłam w Internecie kod do prostej gry (całość tutaj: http://pastebin.com/4B2ubsN6). Mam problem z dwiema rzeczami. Po pierwsze mam fragment kodu:

Position2D &return_ref_to_player()
{
return player;
}

,
gdzie Position2D to jest struktura, która zawiera zmienną 'x' i zmienną 'y'. No i 'player' to jest instancja (dobrze piszę?) tej struktury. Dalej ta funkcja '&return_ref_to_player()' jest wywoływana jako argument funkcji void put_player(Position2D& player). Czy dobrze rozumiem, że funkcja 'return_ref_to_player()' zwraca referencję do 'player', referencję czyli nie adres 'player', tylko 'player' samo w sobie (nie żadne tam kopie). Dobrze rozumiem?

Druga rzecz jest podobna do pierwszej, tylko tutaj mamy do czynienia z wektorem. W tym przypadku monsters to jest nazwa wektora, który zawiera kilka par 'x' i 'y'. Powiedzcie, co tutaj znaczy return monsters. Czy to zwraca cały wektor?

vector<Position2D> &return_ref_to_monster()
{
return monsters;
}