C++ programozásban mire való az std:: és a void?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Az std egy névtér, a :: egy minősítő operátor, a void pedig...
1) Az eljárásokat void kulcsszóval jelöljük:
void Valami() {}
2) Ha olyan memóriaterület kezdőcíme van meg, ahol nem tudjuk, milyen típusú adatot tárolunk, szintén void-dal jelöljük:
void* memoriacim = ...;
3) Ha nagyon akarjuk, void-dal jelezhetjük, hogy a függvénynek/eljárásnak nincs paramétere:
int valami(void) {
return 5;
}
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
A kérdés ebben a formában teljesen értelmetlen.
Bármelyik C++ tutorial leírja egyébként mik ezek.
Az std egy névtér, a void pedig kb annyit jelent, hogy "típustalan".
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
#4 Akkor szerinted miért tette fel a kérdést hogy hol lehetne bővebb információt találni róluk? Minden kérdésnél van 1-2 ember aki tök feleslegesen leszólja a kezdőket. Gratulálok.
Kérdező:
Akkor kell használni az std::-t ha a C++ standard könyvtárból akarsz elérni egy függvényt (pl. cin, cout). A standard könyvtárbeli függvények mind az std névtérben vannak, meg kell mondani a programnak hol keresse őket. Ha kiírod hogy "using namespace std;" akkor elhagyható mert ezzel megmondod hogy alapból keresse őket az std névtérben is.
Sokan ellenjavallják a using namespace használatát a lehetséges jövőbeli névütközések miatt. Az std-ben rengeteg függvénynév van és nem szeretnénk véletlenül felüldefiniálni az egyiket, ezért inkább kiírhatjuk mindig hogy std:: e helyett. Rövid programoknál a lustaság és az átláthatóság azért mindig előnyt élvez :)
A void több mindenre használható, azt az #1-es válaszoló nagyon jól leírta. 1)-es pontját úgy magyaráznám ha nem lenne érthető, hogy ha nincs visszatérési értéke a függvények akkor azt void-dal jelöljük. A 3)-ast pedig azzal egészíteném ki hogy míg C++-ban ez teljesen opcionális, C-ben van különbség az "int foo();" és "int foo(void)" függvény prototípus deklarációk között, ezért néha C-ből áthozott kódokban találkozni vele még.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!