Identyczne cechy przestrzeni nazw
A. Przestrzeń nazw jest ogólnie słowem kluczowym i używamy przestrzeni nazw o dowolnej unikalnej nazwie w naszym programie.
B. Używamy przestrzeni nazw w naszym pliku źródłowym. Przestrzeń nazw może być również używana w pliku nagłówka zdefiniowanego przez użytkownika. Oznacza to, że tworzymy plik nagłówka i wewnątrz pliku nagłówka, możemy użyć przestrzeni nazw.
C. Przestrzeń nazw stawia nazwę swojego członka w odrębnej przestrzeni, aby nie sprzeczne z nazwami w innych przestrzeniach nazw lub globalnych przestrzeni nazwisk.
Tworzenie przestrzeni nazw w programie C ++
Przestrzeń nazw MyexampleA. W przeciwieństwie do definicji klasy, definicja przestrzeni nazw nie kończy się półkolisem.
B. Przestrzeń nazw należy zadeklarować w zakresie globalnym lub zagnieżdżone w innej przestrzeni nazw (1).
C. Przestrzeń nazw ma kolejną ważną funkcję. Możemy użyć nazwy aliasowej dla naszej nazwy przestrzeni nazw. Można go używać jako:
przestrzeń nazwa mnie = myexample;Tutaj ja jest aliasem nazwy przestrzeni nazw. Jeśli ogłosimy to raz, możemy użyć tej przestrzeni nazw jako MOEFMAPA.
Bezimienne przestrzenie nazw
Przestrzeń nazw mającą żadną nazwę może być również dozwolona w programie C ++.
Przestrzeń nazwPrzykład programowania 1:
#włączaćWyjście:
Wyjaśnienie:
Tutaj oświadczyliśmy, że przestrzeń nazw nazywa się MyExample. W przestrzeni nazw ogłosiliśmy zmienną „x” i funkcję fun1 (). Przykład klasowy jest również zadeklarowany w przestrzeni nazw. Inna funkcja o nazwie fun2 () jest zadeklarowana w przykładzie klasy.
Jeśli przypisujemy pewne wartości w zmiennej „x” w naszej głównej funkcji, musimy napisać
Myexample :: x = 6;Ponieważ zmienna x nie jest zadeklarowana w funkcji głównej. Jest członkiem przestrzeni nazw Myexample. Więc musimy napisać:
Przestrzeń nazw :: x;:: jest nazywany Operator rozdzielczości zakresu. Musimy napisać przestrzeń nazw :: x = 6 wewnątrz głównej funkcji, aby uzyskać dostęp do zmiennej x.
Jeśli chcemy wywołać funkcję fun1 (), musimy ją zdefiniować. Musimy napisać:
int myexample :: fun1 ()FUN1 () jest członkiem Myexample Acespace, musimy to zdefiniować. Musimy zdefiniować FUN1 () z jego przestrzenią nazw i operatorem rozdzielczości zakresu (: :).
Jeśli chcemy zadzwonić do FUN2 () w przykładzie klasy, musimy napisać:
void myexample :: przykład :: fun2 ();Ponieważ funkcja fun2 () jest członkiem przestrzeni nazw, a w przykładzie klasy musimy to napisać:
za pomocą przestrzeni nazw Std;Wewnątrz FUN1 () Używamy instrukcji Cout. Jest to predefiniowany obiekt, więc jego deklaracja istnieje w przestrzeni nazw o nazwie STD. Ta przestrzeń nazw jest już zdefiniowana w pliku o nazwie iostream. Musimy dołączyć ten plik do naszego programu.
Przykład programowania 2:
#włączaćWyjście:
Wyjaśnienie:
Definicję przestrzeni nazw można kontynuować i rozszerzyć na wiele plików (1).
plik 1.HZałóżmy, że mamy dwa pliki nagłówka o nazwie File1.H i File2.H . W pliku1.H, używamy przestrzeni nazw o nazwie MyExample. Wewnątrz Myexample znajdują się dwie zmienne x i y, a funkcja o nazwie fun1 () jest zadeklarowana.
W pliku2.H, używamy innej przestrzeni nazw o tym samym imieniu o nazwie MyExample. Wewnątrz Myexample znajdują się dwie zmienne x i y, a funkcja o nazwie fun2 () jest zadeklarowana.
Jeśli dołączymy te dwa pliki w naszym programie, możemy mieć błędne przekonanie, że istnieją dwie różne przestrzeni nazw, które istnieją taka sama nazwa. Może wystąpić konflikt nazwy. W rzeczywistości w programie istnieje tylko jedna przestrzeń nazwiska. W tej samej przestrzeni nazw wszystkie zmienne x, y, u, v i fun1 (), fun2 () są dodatkami. Nie mogą istnieć dwie różne przestrzeni nazw.
Wniosek:
Omawiając szczegółowe informacje na temat przestrzeni nazw, doszliśmy do tego wniosku, że przestrzeń nazw zapewnia nam unikalną funkcję w naszym programie C ++, która dotyczy organizacji naszych elementów deklaracji, takich jak zmienne, funkcje, klasy w systematyczny sposób.
Źródło:
(1) Studytonight.com. N.P., Sieć. 12 kwietnia. 2022. https: // www.Studytonight.com/cpp/namespace-in-cpp.php