Namespace
namespace oznacza przestrzeń nazw, w której mogą być zadeklarowane funkcje, struktury itd. Najlepiej zilustruje to przykład.
Aby odwołać się do składnika z danej przestrzeni nazw musimy użyć przed jego nazwą, nazwę przestrzeni, przykładowo (na podstawie powyższego):
Gdy często używamy jakichś funkcji, zmiennych z danej przestrzeni nazw możemy zrobić tak:
Załóżmy, że mamy dwie identyczne (bądź podobne :-) ) przestrzenie nazw:
Chcemy, aby pisząc instrukcję f() została wywołana funkcja z pierwszej przestrzeni nazw, a pisząc g() funkcja z drugiej przestrzeni. Należy w takim przypadku użyć deklaracji using, mianowicie:
Po takich deklaracjach aby móc wywołać funkcję g() z przestrzeni nazw First, należy już to zrobić jawnie:
Aby odwołać się do składnika z danej przestrzeni nazw musimy użyć przed jego nazwą, nazwę przestrzeni, przykładowo (na podstawie powyższego):
//...
nazwa::funkcja_1();
nazwa::funkcja_1();
Gdy często używamy jakichś funkcji, zmiennych z danej przestrzeni nazw możemy zrobić tak:
//....
namespace nazwa
{
//...
}
using namespace nazwa; /* ta funkcja sprawia, że od tej pory nie musimy dopisywać do każdego elementu z przestrzeni nazwy przestrzeni oraz modyfikatora :: */
funkcja_1();
//...
namespace nazwa
{
//...
}
using namespace nazwa; /* ta funkcja sprawia, że od tej pory nie musimy dopisywać do każdego elementu z przestrzeni nazwy przestrzeni oraz modyfikatora :: */
funkcja_1();
//...
Załóżmy, że mamy dwie identyczne (bądź podobne :-) ) przestrzenie nazw:
Chcemy, aby pisząc instrukcję f() została wywołana funkcja z pierwszej przestrzeni nazw, a pisząc g() funkcja z drugiej przestrzeni. Należy w takim przypadku użyć deklaracji using, mianowicie:
// ...
using First::f; // brak słowa kluczowego namespace!
using Second::g;
f(); // First::f()
g(); // Second::g()
// ...
using First::f; // brak słowa kluczowego namespace!
using Second::g;
f(); // First::f()
g(); // Second::g()
// ...
Po takich deklaracjach aby móc wywołać funkcję g() z przestrzeni nazw First, należy już to zrobić jawnie:
// ...
First::g();
// ...
First::g();
// ...



nie znałem tego