C++ Ukazatele – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++ Ukazatele – C / C++ – Fórum – Programujte.comC++ Ukazatele – C / C++ – Fórum – Programujte.com

 

pointer
~ Anonymní uživatel
3 příspěvky
7. 6. 2010   #1
-
0
-

Zdravim

Ucim sa C++ z knihy C++ za 21 dni a zasekol som sa na tejto lekcii ... cca niekde v polke. Stale neviem celkom pochopit na co su dobre ... Podla autora (ak tomu spravne rozumiem) riesia napr problem lokalnych premennych, konkretne ich kratnu zivotnost, kedze sa po ukonceni funkcie zmazu, resp prestanu existovat. Ale preco je to problem nechapem .

Zakladam temu, pretoze ukazovatele su udajne jednym z tych komplikovanejsich zalezitosti okolo C++ ale udajne su vyznamne, preto by som im chcel naozaj chapat a teda sa sem tam nieco okolo nich spytat aq nezakladat zbytocne dalsiu temu.

Neviem niekto o nejakom zdroji na ktorom su vysvetlene do bodky a fakt ludsky ? Pripadne sa pokusit vysvetlit na co presne su a v com su take vynimocne ? Rozmyslal som aj nad tym ze mozno tuto lekciu odlozim na neskor a budem sa tym zaoberat ked bude v C++ trosku zasvatenejsi. Som samouk, nie student, takze v skole mi to tiez nevysvetlia. Dakujem :)

Nahlásit jako SPAM
IP: 178.40.250.–
yetty_001
~ Redaktor
+5
Super člen
7. 6. 2010   #2
-
0
-

Je důležité pochopit, co znamená naalokovat si místo na nějakou proměnnou. Je to v podstatě to, že se ti v paměti zabere určitý blok o dané velikosti, který někde začíná a někde končí. V proměnné máš poté vlastně tento kus paměti. Ukazatel se liší v tom, že nic neobsahuje, pouze odkazuje na místo v paměti. To je dobré k tomu, že zapamatovat si adresu v paměti je nesrovnatelně snazší, než její celou hodnotu. Taky je to důležité k tomu, abys mohl pracovat s poli, spojáky, stromy a podobně, kde vlastně vždy odkazuješ, pomocí ukazatele, na nějaký předchozí prvek.

Nahlásit jako SPAM
IP: 94.74.221.–
pointer
~ Anonymní uživatel
3 příspěvky
7. 6. 2010   #3
-
0
-

tomu alokovaniu chapem(myslim). Vytvorim premennu, a ta si podla typu vyhradi miesto, resp pocet tych sektorov v pamati. Chapem aj to ukladanie adresy, len to asi vnimam zle a to tak ze vlastne teraz okrem ulozenej hodnoty mam v programe ulozeny aj ukazovatel s adresou, cize nieco navyse. Zatial zrejme proste celkom nechapem tu vyhodu len ulozenej adresy oproti ulozenej hodnote. Inak, tie pointre maju zmysel vzdy, alebo len pri istych typoch ? myslim typoch ako long,signed atd ktore zaberaju v pamati viac miesta ?

Nahlásit jako SPAM
IP: 178.40.250.–
yetty_001
~ Redaktor
+5
Super člen
7. 6. 2010   #4
-
0
-

Ukazatele mají smysl u datových struktur. Takže třeba u pole, u spojového seznamu apod. Nejčastější použití je asi právě u toho pole, kdy polem procházíš pomocí posouvání hodnoty ukazatele.

Nahlásit jako SPAM
IP: 94.74.221.–
hm
~ Anonymní uživatel
5 příspěvků
7. 6. 2010   #5
-
0
-

@yettu_001 nie, pointere ukazuju na adresu v pamati. Proste ked sa adresuje program do pamati, vyhradzuje sa potrebna pamat tak "staticke" premenne maju vyhradene miesto v case kompilacie programu tj. tolko miesta budu zaberat vzdy. Narozdiel od toho premenne pri ktorych sa pouzije dereferencny operator */& maju toto miesto vyhradene az za beho programu a ukazovatel ukazuje na miesto v pamati (pri 32bit systemoch je tato adresa ma tato adresa 32 bitov a pri 64bit su to 64bit adresy)

Nahlásit jako SPAM
IP: 95.103.243.–
yetty_001
~ Redaktor
+5
Super člen
7. 6. 2010   #6
-
0
-

Díky za upřesnění, vymazal jsem to, abych někoho nezmátl...

Nahlásit jako SPAM
IP: 94.74.221.–
hm
~ Anonymní uživatel
5 příspěvků
7. 6. 2010   #7
-
0
-

ale aby sa odpovedalo na otazku ci su nieco na viac a ci by bez nich zaberal program menej - nie. Neber adresy ako nieco co sa uklada do programu ale to co si vybera uz OS kde co ide ukladat.

Nahlásit jako SPAM
IP: 95.103.243.–
pointer
~ Anonymní uživatel
3 příspěvky
7. 6. 2010   #8
-
0
-

aha taaaak ... parada... zacinam tomu trosku chapat ... dik zatial :)

Nahlásit jako SPAM
IP: 178.40.250.–
Quiark0
Věrný člen
8. 6. 2010   #9
-
0
-

Ty ukazatele jsem se pokusil lidsky vysvětlit tady: http://newwiki.ceske-hry.cz/Ukazatele

Nahlásit jako SPAM
IP: 89.103.91.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

Podobná vlákna

Ukazatele — založil Šimon

Ukazatele — založil IBTR

Ukazatele — založil Albornoz

Ukazatele — založil demo

C# ukazatelé — založil Kubas129

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý