Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 5.355 pregleda

Najnovija ↓

Pointeri za pristup vrijednosti van funkcije? 22.08.2006. u 18:57 · pre 245 meseci #1
Ok, znam da ako zelim pristupiti vrijednosti van neke funcije, onda koristim ili referencu ili pointere. Medjutim, kad koristim referencu, onda obe varijable koriste isti memorijski prostor, dok kod pointera se koriste dva memorijska prostora (pointera i varijable u mainu). Da li vi iskusniji programeri koji morate voditi racuna o ustedi memorije u ovakvim situacijama koristite pointere ili reference?
Na primjer, void saberi(int &a) ili void saberi(int* a)

S druge strane, da li C++ programer u danasnje vrijeme mora voditi brigu o ustedi memorije kad pravi neki program ili je to stvar proslosti?
Potpis
"I don't read books, but I have friends who do."
George W. Bush
Re: Pointeri za pristup vrijednosti van funkcije? 22.08.2006. u 23:36 · pre 245 meseci #2
Citat:
absBeg: Ok, znam da ako zelim pristupiti vrijednosti van neke funcije, onda koristim ili referencu ili pointere. Medjutim, kad koristim referencu, onda obe varijable koriste isti memorijski prostor, dok kod pointera se koriste dva memorijska prostora (pointera i varijable u mainu). Da li vi iskusniji programeri koji morate voditi racuna o ustedi memorije u ovakvim situacijama koristite pointere ili reference?
Na primjer, void saberi(int &a) ili void saberi(int* a)

S druge strane, da li C++ programer u danasnje vrijeme mora voditi brigu o ustedi memorije kad pravi neki program ili je to stvar proslosti?


Reference su uvedene u C++, a sluze za lakse pisanje bas tih f-ja,
znaci sad bi ako stavis kao referencu, u definiciji f-je samo pisao a,
dok bi u slucaju pointera uvek pisao *a.
Mnogo je lakse, a danas mislim da je ta usteda u memorijskom prostoru smesna.
Potpis
Mislim, šta reći !
Re: Pointeri za pristup vrijednosti van funkcije? 22.08.2006. u 23:42 · pre 245 meseci #3
proslosti?
Citat:
absBeg: S druge strane, da li C++ programer u danasnje vrijeme mora voditi brigu o ustedi memorije kad pravi neki program ili je to stvar proslosti?
Ovisi o situaciji.

Citat:
Na primjer, void saberi(int &a) ili void saberi(int* a)

Referenca se interno i reprezentira kao pokazivac, ali u okvirima jezika se smatra drugim nazivom za neku varijablu.
Re: Pointeri za pristup vrijednosti van funkcije? 23.08.2006. u 23:31 · pre 245 meseci #6
Zar i pointer kao i druga varijabla ne zauzima onoliko prostora s obzirom na
koji tip podatka upucuje? npr.
int* pointer - 4b
char* pointer - 1b
...
itd.
Potpis
"I don't read books, but I have friends who do."
George W. Bush
Re: Pointeri za pristup vrijednosti van funkcije? 24.08.2006. u 21:11 · pre 245 meseci #8
Hm... da recem ja kako to izgleda.
Dakle prvo mora da uocis da u
void f_ja( int &broj) {}
operator & nije isto sto i u slucasaju ovome
int broj1, broj2;
broj1 = &broj2
Da netupim u detalje u prvom slucaju & je referenca a u drugom je "adresa-od". Bitna stvar je ta se kada koristis referencu vrednost NE KOPIRA sto znaci povecanje brzine jer se izostavlja kopiranje elemenata( to kopiranje je inace jedina losa osobina f-ja... zbog "steka" ovo-ono)...Ovo igra bitnu ulogu kada su parametri clase kod je ova osobina zanemarljiva kada se primenjuje na "ugradjene" tipove podataka(jer su isti memoristi mali pa se brzo kopiraju). Ovde je memorija sporedna stvar a zlatno pravilo glasi : KORISTI &(ampersend) KAD KOD MOZES, *(pointer) SAMO KADA MORAS.
Potpis
Expert Opinions - Niche Articles
Re: Pointeri za pristup vrijednosti van funkcije? 30.08.2006. u 02:03 · pre 245 meseci #9
Citat:
absBeg: Zar i pointer kao i druga varijabla ne zauzima onoliko prostora s obzirom na
koji tip podatka upucuje? npr.
int* pointer - 4b
char* pointer - 1b
...
itd.


Velicina pointera ne zavisi od tipa na koji pokazuje (kao sto ni velicina znaka pored puta ne ovisi o velicini grada na koji pokazuje). Nije ti potreban veci znak za Beograd nego za Paracin. Pointer moze pokazivati na ogroman niz podataka, pa ostaje mali, jer u njemu samo pise npr. 1432648649373. A taj broj kaze odakle treba poceti citanje i nista vise.
Potpis
De si Deda...
Re: Pointeri za pristup vrijednosti van funkcije? 20.10.2006. u 16:44 · pre 243 meseca #10
Citat:
int broj1, broj2;
broj1 = &broj2

Da nisi mozda mislio na:
Code:
int *broj1,broj2;
broj1=&broj2;

Ako bi napisao kao ti compiler bi prijavio error, jer ne mozes obicnom int-u da dodelis adresu!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme