Kezdőoldal » Számítástechnika » Programozás » Mire jók az Inline függvények?...

Mire jók az Inline függvények? C/C++

Figyelt kérdés
2012. szept. 7. 13:41
 1/6 anonim ***** válasza:
A fordító a szükséges kódot beilleszti (ctrl + c, ctrl + v) a hívás helyére és a kód futása nem lassul a függvény hívásával.
2012. szept. 7. 13:54
Hasznos számodra ez a válasz?
 2/6 Srapnel ***** válasza:
...már ha a fordító úgy dönt. Pl. ha az inline függvény rekurzív, vagy egymásba ágyazott inline függvényhívások vannak.
2012. szept. 7. 15:17
Hasznos számodra ez a válasz?
 3/6 Srapnel ***** válasza:
előző válaszomból kimaradt: a példák esetén NEM fogja beilleszteni, hagyományos függvényhívással oldja meg.
2012. szept. 7. 15:17
Hasznos számodra ez a válasz?
 4/6 iostream ***** válasza:
54%

Itt három különböző dologról van szó.

Van az inline kulcsszó, ami semmit nem jelent, csak lehetővé teszi, hogy ugyanaz a függvénydefiníció több fordítási egységben is szerepeljen. Nem kötelezi a fordítót semmire.

Van az implicit inline függvény, amikor a class/struct testén belül, a deklarálás helyén fejted ki a tagfüggvényt, ez ugyanaz, mint az inline kulcsszó, csak nem írod elé.

És van az inlineosított függvény, ami annyit takar, hogy a fordító bemásolta a függvény kódját (megfelelően átalakítva persze, hiszen változott a környezete) a hívás helyére.


Ez utóbbi arra jó, hogy nem kell a függvényhívás költséges procedúráját végrehajtani.

Nem mindig előnyös, lehet, hogy éppenséggel lassítani fogja a kódot.

2012. szept. 7. 15:22
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

"Ez utóbbi arra jó, hogy nem kell a függvényhívás költséges procedúráját végrehajtani.

Nem mindig előnyös, lehet, hogy éppenséggel lassítani fogja a kódot."


Erre valami példát tudnál mutatni, mikor lassít? Nem kötözködésből kérdezem, csak tényleg érdekel, mert nem értek különösebben a C++ fordítók lelkivilágához :)

2012. szept. 7. 17:14
Hasznos számodra ez a válasz?
 6/6 iostream ***** válasza:
Ha pl sok helyre kerül be egy nem túl kicsi kód, és ettől megnő a kódméret. Cache miss.
2012. szept. 7. 21:57
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!