Hirdetés
- Szívós, szép és kitartó az új OnePlus óra
- Gyorsabb lesz a tárhely, de drágább lesz a Nothing Phone (4a)
- Motorola Edge 70 - többért kevesebbet
- Megtartotta Európában a 7500 mAh-t az Oppo
- One mobilszolgáltatások
- Mobil flották
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Privát AI mobil lesz az S26, nem okostelefon
- Fotókon a Samsung Galaxy A57
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Gondolkoztam még ezen, hogy miért lesz átláthatóbb a függvény, ha egyetlen return van, de nem látom be, miért is lenne ez jó. Szerintem azonnal áttekinthetővé válik a dolog, hogy ha valami feltétel, amire várunk, már az elején teljesül, akkor ne is folytassa tovább a vizsgálgatást, ez gondolom akár gyorsaság szempontjából sem lehet elhanyagolható. Jester01-gyel értek egyet, sokkal kevésbé lesz átlátható a függvény a sok if-else elágazás miatt. A tanított anyagokban is mindenhol akár több return utasítás is van bizonyos feltételek teljesülése esetén.
De most tényleg, miért lenne baj, ha több return van?
___________________
"Auto-pointereknél nem para a felszabadítás több return esetén, de pl. CleanupStacknél sokkal bonyolultabb a memóriát karban tartani."
Ebből sokat nem értettem, ezt röviden el tudod magyarázni?
-
Én tisztáznám magam,de azzal is belemártózok.Ezt a programot se én írtam,de mivel nem tanultam ilyesmit egyik havernak meg volt ilyen,így elkértem.
Azt is tudjátok most tanulok,így előbb megcsinálom később megértem alapon megy,mert fordítva már nehéz lesz ekkora anyagnál.Köszi,hogy szóltok ilyenért,mert ebből is tanulok.
-
Jester01
veterán
Más konvenciók meg pont azt mondják, hogy nyugodtan használj annyi returnt amennyit akarsz, az átláthatóság miatt
Ugyanis adott esetben sok if/else ág lenne illetve segédváltozók és/vagy ciklus lefutás után a feltétel újratesztelése is szükséges lehet.int find(int needle, int* haystack, int size)
{
int result = -1;
if (haystack == NULL)
{
fputs("haystack NULL", stderr);
} else {
for(int i = 0; i < size; i++)
{
if (haystack[i] == needle)
{
result = i;
break;
}
}
}
return result;
}-vagy-
int find(int needle, int* haystack, int size)
{
if (haystack == NULL)
{
fputs("haystack NULL", stderr);
return -1;
}
for(int i = 0; i < size; i++)
{
if (haystack[i] == needle)
{
return i;
}
}
return -1;
}Az első esetben hiába van 1 return a függvény végén, ahhoz, hogy megtudd mit ad vissza ígyis-úgyis végig kell nézni a függvényt, hogy hol lesz az a változó beállítva. Akkor meg pont ugyanolyan egyszerű a return utasításokat megkeresni. Ha pedig mondjuk két ciklus van egymásbaágyazva akkor még több macera kijutni belőlük (mivel ugye goto-t sem használunk
) -
Sk8erPeter
nagyúr
"a függvényeknek csak egyetlen returnje legyen"
Na jó, de mondjuk egy prímtesztelő függvénynél pl. azt szeretnénk, hogy 1-gyel térjen vissza, ha egy szám prím, 0-val, ha nem az, hát ott kapásból a 0-nál vagy 1-nél 0-val kell, hogy visszatérjen, tehát ott már lesz egy return 0; , ha viszont az jött ki, hogy a szám prím, akkor ugye return 1;. És akkor már két return van a függvényben
Vagy nem így értetted? Mert ez szerintem még bőven átlátható, és erre az átláthatóság nem jó érv szerintem... 
Ezek szerint annyira neked sem jöttek be az órái.
Az mondjuk valóban nagy előny, ha előtte jól toltad legalább Pascalban, mert akkor csak át kell szokni a másik nyelv szintaktikájára. Hát nekem nem volt túl egyszerű a 0-ról megtanulni programozni, ilyen tanárokkal...
Mondjuk most kifogtunk egy nagyon jó gyakvezt (Lengyel László, hátha ismered), aki végre úgy magyaráz, hogy az követhető, és egyáltalán nem unalmas, ráadásul bevon mindenkit a feladatmegoldásba, nem úgy ülsz ott órán, hogy mikor lesz már végre vége a gyaknak. Az nagy előny. 
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen belső merevlemezt vegyek?
- Kerékpárosok, bringások ide!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Szívós, szép és kitartó az új OnePlus óra
- Autós topik
- Gyorsabb lesz a tárhely, de drágább lesz a Nothing Phone (4a)
- Formula-1
- Gyúrósok ide!
- Okos Otthon / Smart Home
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- További aktív témák...
- Eladó MacBook Air (M1, 2020) asztoszürke 512Gb
- Garanciális // dobozos // Lenovo LOQ // Ryzen 7 7435HS // 16GB RAM // 1TB SSD // RTX 4070
- Hp 840 G9 i7-1270p 16Gb ram, 512Gb NVMe, szép, Magyar bill, 1 év garancia, számla
- ThinkPad T14s Gen4 14" FHD+ IPS érintő Ryzen 5 PRO 7540U 16GB 256GB NVMe magyar vbill ujjlolv gar
- Apple Pencil Pro bontatlan 1 év Apple jótállás
- REFURBISHED és ÚJ - Lenovo ThinkPad 40AS USB-C Dock Gen2 (akár 3x4K felbontás)
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
- HIBÁTLAN iPhone 15 Pro 256GB White Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4448
- MSI 14 Modern C12M FHD IPS i7-1255U 10mag 16GB 512GB SSD Intel Iris XE Graphics Win11 Garancia
- új, összeszerelt Razer Iskur V2 Fabric gamer szék
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


)
Vagy nem így értetted? Mert ez szerintem még bőven átlátható, és erre az átláthatóság nem jó érv szerintem... 
Mondjuk most kifogtunk egy nagyon jó gyakvezt (Lengyel László, hátha ismered), aki végre úgy magyaráz, hogy az követhető, és egyáltalán nem unalmas, ráadásul bevon mindenkit a feladatmegoldásba, nem úgy ülsz ott órán, hogy mikor lesz már végre vége a gyaknak. Az nagy előny. 


