Kezdőoldal » Számítástechnika » Programozás » Mire valók a névterek (namespa...

Mire valók a névterek (namespace) a c++ nyelvben?

Figyelt kérdés
Szóval próbálom átlátni hogy mire való a namespace. A kódokban általában így használom "using namespace std". Ugye ilyenkor nem kell minden parancs elé kiírni hogy "std::" . De így még nem látom át teljesen . Valaki érthetően elbírja magyarázni?

2015. jún. 23. 09:59
 1/3 iostream ***** válasza:
97%

Kezdjük ott, hogy az osztályok implicit generálnak névteret is. A névtér arra való, hogy a neveket csoportokba, hierarchikus fába rendezze. Hogy ne az enum nevébe kelljen beleírni, hogy GAME_STATE_INVALID, hanem a game osztály vagy névtér state névterének lehet egy INVALID nevű enumja.


Gyakorlatilag a névütközéseket elkerülendő, szerveződési egység.

2015. jún. 23. 10:20
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
95%

A névtér egy logikai egysége a programnak. Szemben pl. a fizikai egysége a fájl. Egyszerűsítve: A névtér egy prefixet ad minden dolog nevének amit tartalmaz. A C++ névterek inkább funkcionális bontást adnak, kevésbé hierarchikus. Általában nincs olyan sok szint, mint más nyelvekben.


Ne használj using namespace-t, mivel nehezen irányítható és olyan dolgokat is behúz amit nem szükséges. A te osztályod használója meg ütközést tapasztalhat egy másik névtér behúzása miatt.

2015. jún. 23. 19:20
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
100%

Tegyük fel, hogy használsz egy fájlkezelő és egy xml kezelő függvénykönyvtárat, és mondjuk mindkettőben van open() függvény. Miután mindkettőt be-include-oltad, lesz két ugyanolyan nevű függvényed. Ezt elkerülendő szokás őket külön névtérbe helyezni.

De ez csak egy példa volt a sok közül.

2015. jún. 25. 02:02
Hasznos számodra ez a válasz?

További 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!