Eli mikä? "Kaikki elementit tai rakenneosat C++ kirjastossa ovat tässä merkkijonoluokassa jota kutsutaan nimellä önamespace ö "
Onko se jonkilainen systeemi(avaruus) jossa on kaikki mahdolliset C++ standardi kirjaston rakenneosat. Jolloin kääntäjä tunnistaa esim: olion "cout" nimen?
Suorana käännöksenä namespace on nimiavaruus. Se siis toimii näin:
#include <iostream> namespace Jotain { int muuttuja; struct mun_tyyppi { int a, b, c; }; } namespace Muita { int muuttuja; struct mun_tyyppi { int a, b, c, d, e, f; }; } // Ja nyt on siis määritelty kahdet eri asiat, tässäkin siis kaksi eri muuttujaa: Jotain::muuttuja = 1; Muita::muuttuja = 2; // cout (ja muut C++:n standardikirjaston asiat) kuuluvat std-nimiavaruuteen. std::cout << (Jotain::muuttuja + Muita::muuttuja); // 1+2 = 3 // Muita::mun_tyyppi sisältää kuusi lukua ja Jotain::mun_tyyppi vain kolme, joten niiden kokojen suhde on luultavasti 6/3 = 2 std::cout << (sizeof(Muita::mun_tyyppi) / sizeof(Jotain::mun_tyyppi)); // Näin muuttuja tarkoittaa samaa kuin Jotain::muuttuja. using Jotain::muuttuja; std::cout << (muuttuja + Muita::muuttuja); // yhä 1+2 = 3. // Tämän jälkeen kaikki Jotain-nimiavaruuden sisältö toimii ilman etuliitettä Jotain:: using namespace Jotain; std::cout << (sizeof(Muita::mun_tyyppi) / sizeof(mun_tyyppi)); // 6/3 = 2.
Aihe on jo aika vanha, joten et voi enää vastata siihen.