C++ - stack /assembler
C++ - stack /assembler
Zdravim ucim sa momentalne C++ a narazil som na zasobnik ,chapem v podstate co to je,ako funguje,ale nenašiel som načo to funguje
...a druhá otázka je dobré trochu preštudovať aj Assembler pred C++ nech sa trochu zoznamim so strojovym kodom? Ďakujem
)
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C++ - stack /assembler
Zasobnik ako datova struktura, alebo stack procesora?
Nie na C++ assembler nepotrebujes.
Nie na C++ assembler nepotrebujes.
Re: C++ - stack /assembler
Aký je medzi nimi rozdiel ?
Je mi jasné že nepotrebujem ale aspoň zistiť ako to všetko funguje 
-
*****HERO*****
Guru wannabe
- Príspevky: 2446
- Registrovaný: 08 máj 2006, 1:34
Re: C++ - stack /assembler
Rozdiel je v tom ze su to 2 uplne rozdielne veci. Ved ty musis vediet na co sa pytas. Kde si na to narazil? V akom kontexte?
A s assemblerom sa kludne pohraj ked chces. Zaobides sa aj bez toho, ale C je dost low level jazyk na to aby sa dalo rozmyslat ake konkretne CPU instrukcie nastanu ked vykonas kus kodu. Ale to by som riesil az casom.
A s assemblerom sa kludne pohraj ked chces. Zaobides sa aj bez toho, ale C je dost low level jazyk na to aby sa dalo rozmyslat ake konkretne CPU instrukcie nastanu ked vykonas kus kodu. Ale to by som riesil az casom.
Re: C++ - stack /assembler
Stack ako dátová štruktúra 
-
harrison314
Hardcore addict
- Príspevky: 8217
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: C++ - stack /assembler
Co tak pouzit google?
https://cs.wikipedia.org/wiki/Z%C3%A1so ... struktura)
https://cs.wikipedia.org/wiki/Z%C3%A1so ... struktura)
Re: C++ - stack /assembler
Jasnačka,akurát ma zaujímalo že kde sa také niečo využíva,či to má využitie aj v nejakých jednoduchších programoch,alebo len v nejakých zložitejších 
-
*****HERO*****
Guru wannabe
- Príspevky: 2446
- Registrovaný: 08 máj 2006, 1:34
Re: C++ - stack /assembler
ved ked ho budes potrebovat, tak na to instinktivne prides, kedze logiku uz ovladas. snad.
ale prekvapivo, kedze sa to vola zasobnik, da sa tym reprezentovat napr 9mm zasobnik zbrane. to mas LIFO (last in first out) stack. naboje co do toho vlozis ako prve, ti padnu na spodok zasobnika, takze ich vystrielas ako posledne - presne v opacnom poradi ako si ich tam vlozil.
kod by mohol vyzerat cca nejak takto. ale neviem, ber to skor ako pseudokod, nie som cepluspluskar. iba proste kar.
exemplarnejsie by mozno bolo si ten Stack nejak extendnut a miesto metod "push()" by si zvonku volal napr. "vlozitNaboj()" a miesto "pop()" by si volal "vystrel()". metody by si potom interne na svojej instancii zavolali push a pop. to uz ale neviem ako v C++ funguje extendovanie Template, takze ti to bude musiet stacit takto jednoducho 
ale prekvapivo, kedze sa to vola zasobnik, da sa tym reprezentovat napr 9mm zasobnik zbrane. to mas LIFO (last in first out) stack. naboje co do toho vlozis ako prve, ti padnu na spodok zasobnika, takze ich vystrielas ako posledne - presne v opacnom poradi ako si ich tam vlozil.
kod by mohol vyzerat cca nejak takto. ale neviem, ber to skor ako pseudokod, nie som cepluspluskar. iba proste kar.
Kód: Vybrať všetko
std::stack<Naboj> Zasobnik;
Zasobnik.push(new Naboj(1)); //vlozime naboj c.1
Zasobnik.push(new Naboj(2)); //vlozime naboj c.2
Zasobnik.pop(); //vystrelime naboj c.2
Zasobnik.pop(); //vystrelime naboj c.1
Re: C++ - stack /assembler
Neda sa presne povedat na co sa to zide, to musis odhadnut sam ked pises program. Casto sa vsak so zasobnikmi stretnes v iterativnych implementaciach rekurzivnych algoritmov (iterativny quick-sort, iterativny prechod stromovej struktury, ...). Tieto algoritmy sa vsak casto implementuju, ako som spomenul, rekurizvne, cim sa vyuzije priamo zasobnik procesora.
A assembler nemusis vediet pred ucenim C/C++ vobec, je vsak dobre sa k tomu v buducnosti dostat. Je dobre rozumiet tomu ako to cele funguje pod kapotou, vedie to tiez k lepsiemu kodu (princip lokality, optimalizacie prekladacov, ...).
A assembler nemusis vediet pred ucenim C/C++ vobec, je vsak dobre sa k tomu v buducnosti dostat. Je dobre rozumiet tomu ako to cele funguje pod kapotou, vedie to tiez k lepsiemu kodu (princip lokality, optimalizacie prekladacov, ...).