Kezdőoldal » Számítástechnika » Programozás » Ha egy függvényt nem deklarálo...

Ha egy függvényt nem deklarálok csak definiálok a main előtt mert ugye így lefordul a kód, akkor a main előtti definiált függvény amelynek deklarációja nincs az egyenlő azzal mintha inline kulcsszót használtam volna?

Figyelt kérdés
2012. aug. 20. 22:00
 1/9 anonim ***** válasza:
Dehogy.
2012. aug. 20. 22:06
Hasznos számodra ez a válasz?
 2/9 iostream ***** válasza:

Egyfelől az inline kulcsszó csak javaslat, a legtöbb fordító jobban el tudja dönteni, hogy mit érdemes inlineosítani, mint te.

Másfelől az a definiálás egyben deklarálás is. Mint az, hogy leírod egy függvényben, hogy

int x;

azzal deklaráltad az int típusú x nevet, és definiáltad is.

2012. aug. 20. 22:29
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:

De ha én egy függvényt definiálok és deklarálok is egyszerre akkor az egyenlő azzal mintha külön deklaráltam volna az inline kulcsszóval.


Ha egyszerre történik a definiálás és a deklarálás is akkor egy függvény helyben kifejtett(tehát inline) példa:


void x() { } ez inline igaz?

Ez itt egyben deklarálás és definiálás is és láthatjuk,hogy ez így egyenlő azzal mintha használtam volna az inline kulcsszót.


Akkor ez a kérdésem:

Ha egy függvényt külön deklarálok és külön definiálok pl:

void x();

int main() {

return 0;

}

void x() {}

Akkor ez nem inline.


De ha így csináltam volna:

void x() { //helyben kifejtett.

}


int main() {

return 0 ;

}

Akkor ez inline ugye igazam van mert ez így helyben kifejtett.


Igazam van?Jól tudom?

2012. aug. 21. 01:01
 4/9 iostream ***** válasza:
Nincs igazad, nem tudod jól. Az inline-nál a "helyben" a HÍVÁS helyét jelenti, nem a definiálásét.
2012. aug. 21. 10:44
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:

De ha van egy osztályom például:

class P {

public:

void S() {} //Ez inline és nem használtam az inline kulcsszót.


};


Ahogy a fenti példámban sem.

Ti nem értitek.

2012. aug. 21. 15:25
 6/9 A kérdező kommentje:

Akkor miért van az,hogy a fenti példámban nem lesz inline a függvény mikor egyből a deklarációja után írtam a definícióját?


Ha pedig létrehozok egy osztályt akkor pedig inline lesz miért.

2012. aug. 21. 15:27
 7/9 A kérdező kommentje:

Ez igaz,hogy az inlenenál a hívás helyét jelenti nem pedig a definiálást.De a definícióban kell megmondania a programozónak,hogy inlineosítani szeretné e a függvényt(Az az egy javaslatot teszek a fordítónak így).


A könyv írta,hogy ha egy függvénynek a deklarációja után írod a definícióját akkor az egyenlő azzal mintha külön dekláráltad volna az inline kulcsszóval.

2012. aug. 21. 15:40
 8/9 A kérdező kommentje:

Egy függvényt csak kétféleképpen lehet inlineosítani.

Az egyik az inline kulcsszó a másik ha osztályon belül definiálom.


Ha osztályon kívül definiálom akkor az nem számít inlinenak.

Ezt nemtudta kinyögni valamelyik.


Mindig felkel mennem a prog.hu ra mert itt aztán várhatok bármilyen kielégítő válaszra.

2012. aug. 21. 16:14
 9/9 iostream ***** válasza:
El kéne gondolkodnod, hogy nem tudsz kérdést feltenni.
2012. aug. 22. 13:42
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!