Forum » Programiranje » prenos po referenci
prenos po referenci
Splash ::
Zivjo
Zanima me kako se prenasajo kazalci po referenci v C-ju. Neka funkcija sprejme kot argument kazalec, ki ga potem spremeni, sprememba kazalca se nato vidi po klicu funkcije. Prosil bi tudi da napisete kak primer. Hvala za pomoc!
Zanima me kako se prenasajo kazalci po referenci v C-ju. Neka funkcija sprejme kot argument kazalec, ki ga potem spremeni, sprememba kazalca se nato vidi po klicu funkcije. Prosil bi tudi da napisete kak primer. Hvala za pomoc!
- spremenilo: Splash ()
Senitel ::
Kaj zdej? Prenašanje po referenci ali s kazalci?
Načeloma po referenci zgleda nekako tako:
void Bu(int &Ret)
{
Ret=10;
}
Načeloma po referenci zgleda nekako tako:
void Bu(int &Ret)
{
Ret=10;
}
Zgodovina sprememb…
- spremenil: Senitel ()
TBit ::
Ja ne vem če se da glih kazalec po referenci prenašat (mogoče kazalec kot število), ampak se tvoj problem lahko reši z dvojnim kazalcem kot argument.(prenašanje kazalca s kazalcem)
Primer:
void NekaFunkcija(int **x)
{
(*x)++; // Tu spremeniš kazalec (*x).
}
void main()
{
int niz[] = {2,4};
int* y = niz; /// To je ta nek kazalec ki kaže
// na stevilo 2 v nizu.
NekaFunkcija(&y);
// po tej funkciji bo kazalec za eno večji kot
// pred njo, ter bo kazal na naslednje število v
// nizu (št 4).
}
Oops, a sem zadel.
Primer:
void NekaFunkcija(int **x)
{
(*x)++; // Tu spremeniš kazalec (*x).
}
void main()
{
int niz[] = {2,4};
int* y = niz; /// To je ta nek kazalec ki kaže
// na stevilo 2 v nizu.
NekaFunkcija(&y);
// po tej funkciji bo kazalec za eno večji kot
// pred njo, ter bo kazal na naslednje število v
// nizu (št 4).
}
Oops, a sem zadel.
virtual_reality ::
V C++ gre takole:
void funkcija(int*& po_referenci)
{
int* kazalec = new int;
*kazalec = 0;
po_referenci = kazalec;
}
void funkcija(int*& po_referenci)
{
int* kazalec = new int;
*kazalec = 0;
po_referenci = kazalec;
}
"C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg."
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C++] Vprašanje iz osnov (dedovanje, itd.)Oddelek: Programiranje | 1417 (1201) | fiction |
» | [Naloga][C] Tabela kazalcev na funkcije (simulacija sistemskih klicev)Oddelek: Programiranje | 1660 (1459) | miha22 |
» | [c++] prenos po referenciOddelek: Programiranje | 2510 (2445) | atasmrk |
» | Bubble sortOddelek: Programiranje | 1536 (1428) | OwcA |
» | Pomoč pri c++ razlagaOddelek: Programiranje | 2312 (2054) | Person |