Kezdőoldal » Számítástechnika » Programozás » Melyik egyetem mérnökinfó,...

Melyik egyetem mérnökinfó, proginfó estije vagy levelezőije javasolható?

Figyelt kérdés

Proginfó estire járok és nagyon nehezen megy. Konkrétan végigtanultam a tavaszt, végigsírtam a hétvégéket és szerintem most az 5 tárgyból 1 lesz csak meg, az is azért, mert "kamutárgy".


Az első gondolatom, hogy hagyom az egészet.


A másik gondolatom az átjelentkezés / pótfelvételi most nyáron.


A neten kb mintatanterveket, tantervi hálókat nézegethetnék.


Nektek van személyes tapasztalatotok, ötletetek?


Egyébként ha az ELTE-n ennyire nem megy, bírni fogom máshol?

Megéri végigszenvedni?


Egyáltalán milyen haszna van, főleg nőként (lehet, hogy szülök és akkor a karrier ennyi is volt)?



2020. máj. 13. 15:12
1 2 3 4
 31/35 anonim ***** válasza:

Attól függ hogyan definiáltad a függvényt. Alapvetően háromféle paraméterátadás van C++-ban, illetve ezeknek még módosított altípusai. (Az azért megjegyzendő, hogy a "motorháztető alatt" igazából csak egy féle paraméterátadás van, érték alapján, minden más csak "varázslat" amit a fordító csinál, hogy neked több eszközöd legyen.)


1, Érték alapján:


void fuggveny(Tipus param) {...}


Tipus valtozo = Tipus(...);

fuggveny(valtozo)


Ebben az esetben a valtozo által hivatkozott objektumnak egy másolata lesz csak elérhető a függvényben, ha változtatsz rajta az kint nem látszik. Előnye, hogy biztonságos (a függvény véletlenül se tud elbarmolni egy paramétert amit csak olvasnia szabadna,) hátránya, hogy lassú, főleg ha az átadott paraméter nagy (ie. sok bájtot kell másolni a memóriában.)


2, Referencia alapján


void fuggveny(Tipus ¶m) {...}


Tipus valtozo = Tipus();

fuggveny(valtozo);


Ez ugye hívó oldalon ugyanúgy néz ki, csak a függvény definícióban jelzed, hogy egy másolat helyett az eredeti paraméterre mutató referenciát kérsz. A függvényen belül a param-ot ugyanúgy kezelheted továbbra is mintha érték szerint lenne átadva, tehát nem pointernek "néz ki," de ha módosítod akkor az látszani fog az eredeti objektumon is. Ennek megfelelően itt az átadott paraméter CSAK változó lehet, nem adhatsz át pl. i+1-et. Nincs másolás, tehát gyors nagy méretű paraméter esetén is.


2a, Const referencia alapján


void fuggveny(const Tipus ¶m) {...}


Tipus valtozo = Tipus();

fuggveny(valtozo);


Ez ugyanúgy működik mint a referencia alapján történő, de a fordító ellenőrzi, hogy nem módosíthatod a paramétert a függvényben. Lényegében ötvözöd a referencia szerinti átadás sebességét az érték szerinti biztonságával, és így nem-változókat is át tudsz adni.


3, Cím alapján:


void fuggveny(Tipus *param) {...}


Tipus valtozo = Tipus();

fuggveny(&valtozo);


Itt a paramétert eleve pointerként deklarálod, tehát pointert (memória címet) is kell neki átadni. Hasonlóan működik mint a referencia szerinti átadás, de itt a függvényen belül ha a "valódi," tehát a pointer által hivatkozott objektumot akarod elérni, akkor "dereferencelni" kell (bocsi, nem tudom hogy van magyarul, de lényegében a *-ot kell használnod a paraméter neve előtt.) Ezt a fajtát leginkább akkor szokták használni, ha a függvényednek változó hosszúságú tömböt akarsz átadni (gyak. átadod a tömbb elejét egy pointerként, meg az aktuális méretét egy int-ként, ) vagy ha olyan függvényt csinálsz, aminél a null pointer egy valid paraméter lehet. Minden egyéb esetben referencia szerintit érdemes inkább.


2b, Cím, de referencia alapján:


void fuggveny(Tipus *¶m) {...}


Tipus valtozo = Tipus(...);

Tipus *valtozo_pointer = &valtozo;


fuggveny(valtozo_pointer);


A "normál" cím szerinti átadásnál meg tudod változtatni a pointer által hivatkozott objektumot, de magát a pointert nem, tehát nem tudod átállítani, hogy egy másik memóriaterületre mutasson. Ha meg is próbálod, a hívó oldalon a pointer attól még oda fog mutatni. Ha olyan függvényre van szükséged, ami át tud állítani egy pointert más címre, akkor ezt kell használnod.


Forrás:

[link]

2020. máj. 14. 23:22
Hasznos számodra ez a válasz?
 32/35 anonim ***** válasza:

Azt a kutya fáját, a browser elb*** a függvénydeklarációimat, legalábbis nálam, mert a "& para " (space nélkül) az valami html karakter kód.


Itt van újra az összes, csak már paraméter névvel:


1, Érték alapján:



void fuggveny(Tipus praram) {...}



Tipus valtozo = Tipus(...);

fuggveny(valtozo);



2, Referencia alapján:



void fuggveny(Tipus &praram) {...}



Tipus valtozo = Tipus();

fuggveny(valtozo);



2a, Const referencia alapján



void fuggveny(const Tipus &praram) {...}



Tipus valtozo = Tipus();

fuggveny(valtozo);



3, Cím alapján:



void fuggveny(Tipus *praram) {...}



Tipus valtozo = Tipus();

fuggveny(&valtozo);



2b, Cím, de referencia alapján:



void fuggveny(Tipus *&praram) {...}



Tipus valtozo = Tipus(...);

Tipus *valtozo_pointer = &valtozo;

fuggveny(valtozo_pointer);

2020. máj. 14. 23:30
Hasznos számodra ez a válasz?
 33/35 anonim ***** válasza:

Találtam egy írást, ami ráadásul magyarul van és sok, benned megfogalmazódott kérdésre választ ad. Javaslom, olvasd végig, segíteni fog a dolgok megértésében.


[link]

2020. máj. 15. 06:59
Hasznos számodra ez a válasz?
 34/35 A kérdező kommentje:

Köszönöm szépen!


Elolvasom majd tüzetesebben, meg a suliknak és lehetőségeknek is megpróbálok majd utánajárni, kérdés, hogyan, mert személyes tapasztalatot, na azt nem lehet taláni sehol.

2020. máj. 15. 09:17
 35/35 anonim ***** válasza:
Én proginfót csináltam levelezőn. 15-ből ketten végeztük el időben, én és az egyetlen nő, aki ráadásul a negyedik szemesztert nagy pocakkal csinálta végig, szóval igen, még lehet csinálni, de nem mindenki való programozóknak.
2020. máj. 30. 21:57
Hasznos számodra ez a válasz?
1 2 3 4

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!