Kezdőoldal » Számítástechnika » Programozás » C++-ban miért nem deríti ki...

C++-ban miért nem deríti ki magától a fordító, hogy mit kell includeolnia?

Figyelt kérdés

2020. júl. 12. 16:55
1 2 3
 21/27 A kérdező kommentje:

A kérdés amúgy nem arra vonatkozott, hogy a preprocesszor miért nem includeol mindent, mert az nyilvánvaló. Hanem hogy miért nem lehet valahogy kideríteni, hogy mit használok, és csak azt beincludeolni, és hogy ne a programozónak kelljen. Engem ugyan nem zavar, hogy nekem kell, csak érdekelt a kérdésre a válasz.

Asszem a g++ talán automatikusan includeolja a string header fájlt, ha std::stringet használok. Ha ott meg lehet ezt csinálni, akkor a többi header fájllal miért nem lehet?

Amúgy Javaban meg C#-ban ha jól tudom akkor az import meg a using az nem includeolás, csak névtérfeloldás? Ha igen, akkor ott miért nem kell includeolni?

2020. júl. 13. 12:36
 22/27 A kérdező kommentje:
Egyébként én nem pontozok le semmilyen választ. Max ha valaki nagyon trollságokat ír, pl "menj a mekibe dolgozni, a programozás nem neked való" (ezt már más által feltett kérdéseknél sokszor láttam), akkor elgondolkoznék, hogy lepontozzam-e, de igazából nem érdekel.
2020. júl. 13. 12:37
 23/27 anonim ***** válasza:

Vegyük az std::stringet, mert ezt említetted. Te a stringre írhatsz saját header fájlt is. Így a fordító nem tudhatja melyiket használja :). Ha a fordító automatikusan beillesztené az "alapot" akkor hibás lenne a kódot ugyebár.


Azért említettem meg a preprocesszort, mert ez a fordítás első lépése. Tehát még ez előtt kéne beilleszteni őket. De az IDE beilleszti neked, ha nem egyediről van szó. Pl string esetébe aláhúzza a Visual Studio és szól, hogy -hé ez nincs includolva, szeretnéd, hogy beírjam? Rákattintasz az ikonra és megcsinálja.

2020. júl. 13. 12:47
Hasznos számodra ez a válasz?
 24/27 anonim ***** válasza:

" Ha ott meg lehet ezt csinálni, akkor a többi header fájllal miért nem lehet?"


Lehetni lehet, ez nyilvánvaló, de miért kellene?

Olvastam én itt olyat, hogy vki azt kifogásolta, hogy ha a fordító nyafog a lefelejtett pontosvessző miatt, akkor miért nem teszi mindjárt oda? (.OMG.)

Hát, kb. ez is ilyen dolog.

2020. júl. 13. 17:08
Hasznos számodra ez a válasz?
 25/27 A kérdező kommentje:
Azért ez nem egészen olyan dolog, mert nagy projektekben sokszor előfordul, hogy includeolva vannak olyan dolgok is, amiket már nem is használnak abban a modulban.
2020. júl. 13. 17:17
 26/27 anonim ***** válasza:

Az lehet, de előfordul, hogy ezzel megoldanál x problámát, -alapvetően inkább kényelmi funkció ez- de generálnál vele 5x másikat.


Ha nem használják, akkor befordul, de futni nem fog, tehát a kódméret nő egy kissé, viszont egyéb hátrányos következménye nem lesz.

2020. júl. 13. 17:38
Hasznos számodra ez a válasz?
 27/27 A kérdező kommentje:
Köszi a válaszokat, kíváncsiságból tettem fel a kérdést, nem azért, mert nekem nem tetszik így.
2020. júl. 13. 17:41
1 2 3

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!