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

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

 

Šimon0
Duch
28. 3. 2006   #1
-
0
-

Prosím mohl by mi někdo vysvětlit, proč používat ukazatele nebo odkazy? Nějak nechápu k čemu jsou dobré

Nahlásit jako SPAM
IP: ...–
Kamil Sk?la0
Návštěvník
28. 3. 2006   #2
-
0
-

Jiste jednoho dne narazis na problem, kdy budes potrebovat vratit z funkce vice jak jednu hodnotu, nebo zjistis, ze parametry se predavaji hodnotou, coz vytvari jejich lokalni kopie, coz jednak neni idealni pro pamet, a navic kdyz potrebujes aby se zmena projevila na predavane hodnote, budes potrebovat ukazatel, nebo pri alokaci vetsiho objektu v pameti je vhodne ho umistit do volneho uloziste, k cemuz musis pouzit ukazatel.Ukazatel je v podstate bezpecnejsi obdoba globalni promenne,ale ne tak doslova.Odkaz je neco podobneho, ale nemuzes menit hodnotu, je to pouze odkaz na existujici promennou.obecne se snadneji pouzivaji, ale maji toto omezeni.

Nahlásit jako SPAM
IP: ...–
Kdyz chces nahoru, musis dolu :-) dchub://allhub.net
Šimon0
Duch
28. 3. 2006   #3
-
0
-

Díky, už to začínám chápat, ale pořád se mi to zdá zbytečně složité.

Nahlásit jako SPAM
IP: ...–
Adam Streck0
Stálý člen
28. 3. 2006   #4
-
0
-

Ze za??tku jsou ukazatele a reference opravdu slo?it? a bude? se s nima pr?t. Pak ale zjist?? ?e by ti chyb?ly...
Ale vzato u? od z?kladu - vem si t?eba pole deseti hodnot. M?? pole - t?eba MOJE_POLE[10], je? m? defakto 10 r?zn?ch prom?nn?ch. jazyk vnit?n? pracuje s poli pomoc? ukazatel?, kdyby ne, tak by si musel pracovat s ka?d?m prvkem zvl?. Neexistovalo by t?eba MOJE_POLE[x] (kdy x je u?ivatelem zadan? prom?nn?), proto?e se nejedn? o n?zev prom?nn?, tak?e bys musel porovnat ??slo zadan? u?ivatelem s ??slem kter? bys jako konstantu p?i?adil ka?d? prom?nn?. Vem jsi, kdyby jsi m?l na??st t?eba soubor s 10000 znaky do pole, to by jsi musel definovat 10000 konstant...
Kdy? u? jsme u toho pole s 10000 znaky, v?? jak dlouho by trvalo p?i?adit ho funkci, kdyby m?l program cel? pole zkop?rovat, a co takhle kdyby jsi t?ch fc? volal t?eba 10? Proto se funkc?m p?ed?vaj? ukazatele a reference.
Ale ono i takov? alokace pole. Co kdy? nev?? kolik pam?ti pot?ebuje?, kdy? na??t?? textov? soubor? Kolik pou?ije? pam?ti? 10, to je m?lo, 100 a 1000 asi taky, tak 10000? Ale co kdy? to bude m?t t?eba 12000 znak?? Spot?ebuje? rad?ji pole pro 100000 typ? char? jeden prvek char m? 1 bajt * 100 000 = 100MB, to u? je trochu hodn? na jednor?zov? pou?it?, zvl??t? kdy? spot?ebuje? jen prvn?ch 5 bajt? na 1 slovo... pro spr?vu dynamick? pam?ti taky alespo? v jazyce C++ pot?ebuje? ukazatele.
(V C# pokud v?m ukazatele v u?ivatelsk?m prost?ed? nejsou, zbyly jen reference, ale jak to ?e?? s dyn. pam?t? nev?m)
Douf?m ?e te? u? trochu ch?pe?....

Nahlásit jako SPAM
IP: ...–
Peter D.0
Expert
28. 3. 2006   #5
-
0
-

ja len dodam ze ich pouzijes aj pri prepojenych zoznamoch
:)

Nahlásit jako SPAM
IP: ...–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
Adam Streck0
Stálý člen
28. 3. 2006   #6
-
0
-

Jinak ukazatele a schéma objektově orientovaného programování jsou dvě věci, které plně pochopíš, až ve chvíli kdy si je "osaháš" (bude se ti to stávat častěji, ale tyto dva body jsou hlavní.

Nahlásit jako SPAM
IP: ...–
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, 26 hostů

Podobná vlákna

C++ Ukazatele — založil pointer

Ukazatele — založil demo

Ukazatele — založil Albornoz

Ukazatele — založil IBTR

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ý