vracanje reference ili pokazivaca
Prikazujem rezultate 1 do 5 od 5

Tema: vracanje reference ili pokazivaca

  1. #1
    Primećen član
    Učlanjen
    03.02.2006.
    Pol
    muški
    Poruke
    607
    Tekstova u blogu
    1
    Reputaciona moć
    50

    Podrazumevano vracanje reference ili pokazivaca

    Ako napravimo ovakvo zaglavlje funkcije:

    CAT & makecat(int age) // cat je tip

    ehm mene zanima da li ovakva funkcija vraca referencu na CAT ili pokazivac na CAT. Naravno zbog znaka '&' ja bi rekao referenca ali u svim kodovima koje sam nashao pise:

    return *imepointera;

    I na nekim mestima na kojima je funkcija deklarisana tako da vraca pokazivac:

    CAT * makecat(int age)


    za povratnu vrednost je stavljeno ovako:

    return imevarijable;

    Pa sam iz toga zakljucio da kada stavimo CAT * za povrtanu vrednost u zaglavlju znaci da funkcija vraca referencu,a kada stavimo CAT & ,vraca pokazivac?

    Yel ovo istina ili?

    Evo kod za primer koji se nalazi u knjizi koju chitam:

    CAT & makecat(int age)
    {
    CAT * pCat = new CAT(age);
    return *pCat
    }

    Pa eto,nadam ste da ste razumeli moje pitanje....



  2. #2
    Primećen član maksvel (avatar)
    Učlanjen
    30.06.2004.
    Pol
    muški
    Poruke
    778
    Reputaciona moć
    57

    Podrazumevano Re: vracanje reference ili pokazivaca

    Kada u zaglavlju stoji *CAT, f-ja vraća pokazivač na objekat klase CAT - znači ne *pCat (objekat na adresi pCat), nego p (pokazivač na objekat).
    Let the boy try

  3. #3
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: vracanje reference ili pokazivaca

    [font=Verdana]Da probam da shvatim šta je napisano. Dakle referenca nije pokazivač već uslovno rečeno drugo ime za neku promenljivu. Dakle u primeru koji je dat[/font]
    Kod:
     CAT & makecat(int age)
    {
    CAT * pCat = new CAT(age);
    return *pCat 
    }
    [font=Verdana]funkcija treba da vrati tip CAT odnosno referencu. Obzriom da je pCat pokazivač (pointer) na tip CAT onda izraz *pCat predstavlja tip CAT odnosno referencu.

    S druge strane, ako posmatramo funkciju
    [/font]
    Kod:
     CAT * makecat(int age)
     {
     CAT * pCat = new CAT(age);
     return pCat 
     }
    [font=Verdana]ovde funkcija vraća pokazivač na CAT. Obzirom da je pCat pokazivač, onda ga je potrebno samo vratiti kao rezultat izvršavanaj funkcije.[/font]

  4. #4
    Primećen član
    Učlanjen
    03.02.2006.
    Pol
    muški
    Poruke
    607
    Tekstova u blogu
    1
    Reputaciona moć
    50

    Podrazumevano Re: vracanje reference ili pokazivaca

    Razumeo sam,hvala.

  5. #5
    Primećen član
    Učlanjen
    24.11.2003.
    Poruke
    641
    Reputaciona moć
    58

    Podrazumevano Re: vracanje reference ili pokazivaca

    pokazivac je u stvari adresa neke promenjive ili objekta u memoriji.
    a osnovna razlika izmedju reference i promenjive je u tome sto se za referencu podrazumeva da mora biti inicijalizovana , dok promenjiva moze samo da se deklarise , i kao takva koristi.

Slične teme

  1. Kako obrisati reference iz Registra?
    Autor ivan_t u forumu Operativni sistemi
    Odgovora: 1
    Poslednja poruka: 23.01.2009., 21:27
  2. Reference
    Autor Photon u forumu Kompjuterska grafika
    Odgovora: 0
    Poslednja poruka: 21.06.2008., 14:06
  3. Odgovora: 2
    Poslednja poruka: 27.04.2006., 07:55

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •