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

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

 

začátečník
~ Anonymní uživatel
412 příspěvků
10. 10. 2014   #1
-
0
-

Dobrý den, začínám v C++ a nemůžu nikde najít jak udělat podprogram.
Vím že existují funkce a procedury, ale ty neumějí ovlivnit proměnné v hlavním programu (nebo nevim jak na to).

Začínal jsem programovat v assembleru a tam podprogram nebo přerušení ovlivňuje jakýkoliv registr.
Jde to udělat i v C? Dále jsem se dočetl že se nemá používat příkaz goto. Jaký to má důvod?

A ještě bych potřeboval sehnat popis knihoven a příkazů pro C++. Alespoň nějakých základních, ale trochu podrobnější než jsou v tutoriálech na netu. Děkuji  

Nahlásit jako SPAM
IP: 62.209.197.–
10. 10. 2014   #2
-
0
-

Funkce může ovlivnit i proměnnou vně funkce. Stačí funkci předat jako parametr ukazatel na proměnnou kterou má funkce změnit.

C/C++ má dost možností, jak to udělat aby goto nebylo potřeba, většinou s použitím goto vzniká nepřehledný kód. V C/C++ jsem za celou svou několikaletou praxi goto nepotřeboval.

Informace o funkcích se většinou gůglí. Co se týče WinAPI, nejčastěji hledám na MSDN. 

hu

Nahlásit jako SPAM
IP: 195.178.67.–
vitamin+8
Grafoman
10. 10. 2014   #3
-
0
-

#1 začátečník
Pre std je dobra tato referencia: http://en.cppreference.com/w/

Pouzivanie goto vedie k neprehladnemu kodu v ktorom sa blbo orientuje. Ja som to zatial vyuzil len pri vyskakovani zo zanoreneho switchu/cyklu a pri tvorbe stavovych automatov kde treba skakat v switchi medzi roznymi case. V C sa goto vyuziva na uvolnovanie zdrojov pri chybach lebo nema RAII.

Nahlásit jako SPAM
IP: 195.28.77.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
začátečník
~ Anonymní uživatel
412 příspěvků
11. 10. 2014   #4
-
0
-

#3 vitamin#2 hlucheucho
Díky za odpovědi, teď jsem ještě někde našel že je možné deklarovat proměnnou extern a ta je dostupná ve všech funkcích, snad jsem to pochopil správně.

Nahlásit jako SPAM
IP: 62.209.197.–
KIIV
~ Moderátor
+43
God of flame
11. 10. 2014   #5
-
0
-

Pochopil si to spatne.. Globalni promenna je videt jen v ramci jednoho souboru c/cpp. Extern se pouziva pro rozsireni i pres vicero samostatnych jednotek (v jedne pak musi byt promenna definovana bez externu), aby to slo uspesne slinkovat, jinak by to hlasilo undefined symbol a tak.

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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, 23 hostů

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ý