logo

Zmienne globalne C++

Warunki wstępne : Zakres zmiennych, Funkcje w C++

W językach programowania C++ zmienna to nazwa przekazywana do pamięci w celu przechowywania różnych typów danych. Wartości zmiennych mogą zmieniać się w dowolnym momencie podczas działania programu, a każda zmienna ma swój własny zakres (lub region), w którym można uzyskać dostęp do zmiennej przy użyciu nadanej jej nazwy.



W programowaniu nie wszystkie zmienne są sobie równe. Ich zakres, czas życia i dostępność w programie zależą od tego, gdzie i jak są zadeklarowane. Istnieją dwa typy zmiennych w zależności od ich zakresu.

    Zmienna lokalna – Zasięg tych zmiennych istnieje tylko w bloku, w którym zmienna jest zadeklarowana. tj. możemy uzyskać dostęp do tej zmiennej tylko w tym bloku. Zmienna globalna – Zmienne globalne są specjalnym typem o najszerszym możliwym zakresie. Jest zadeklarowany poza wszystkimi funkcjami i blokami, na górze programu. Dostęp do nich można uzyskać z dowolnej części programu.

Zmienna globalna w C++

Zmienne globalne to zmienne zadeklarowane poza jakąkolwiek funkcją lub klasą i dostępne z dowolnej części programu. Zazwyczaj są one deklarowane na początku pliku źródłowego, po pliku nagłówkowym. Są one dostępne przez cały czas trwania programu i można je uzyskać z dowolnego miejsca w programie.

Deklaracja zmiennej globalnej w C++

Aby utworzyć zmienną globalną, po prostu deklarujemy ją na górze pliku źródłowego, po plikach nagłówkowych i przed funkcją główną. W C++ wszystkie zmienne muszą zostać zadeklarowane przed użyciem.



Przykład 1

C++






// C++ Program to illustrate Global Variable> // header files> #include> using> namespace> std;> > // global variable> int> x = 10;>// x is a global variable initialized to 10> > // main function> int> main()> {> >cout << x;> >return> 0;> }>

Java ma następną

>

>

Wyjście

10>

Wyjaśnienie

xor w Javie
  • W tym przykładzie „x” jest zmienną globalną, która może przechowywać wartość całkowitą.
  • Po uruchomieniu programu jest inicjowany na 10.
  • Ponieważ jest zadeklarowany poza jakąkolwiek funkcją lub klasą, można uzyskać do niego dostęp i modyfikować go za pomocą dowolnej funkcji lub klasy w programie.

Teraz ktoś może się zastanawiać, dlaczego chcesz używać zmiennych globalnych w swoim programie.

Przykład 2

C++




// C++ program to illustrate> // usage of global variables> #include> using> namespace> std;> > // global variable> int> global = 5;> > // global variable accessed from> // within a function> void> display() { cout << global << endl; }> > // main function> int> main()> {> >display();> > >// changing value of global> >// variable from main function> >global = 10;> >display();> }>

>

ogranicznik Java

>

Wyjście

5 10>

Wyjaśnienie

  • W tym przykładzie „int global” jest zmienną globalną przechowującą wartość całkowitą.
  • Po uruchomieniu programu zainicjowano go liczbą 5.
  • Następnie wywołanie przechodzi do funkcji main, a następnie wywołuje funkcję display, która wypisuje zmienną globalną.
  • Po wydrukowaniu 5 wartość zmiennej globalnej zostaje zmieniona na 10. Teraz ponownie wywoływana jest funkcja wyświetlania i drukowana jest nowa wartość zmiennej globalnej 10.

Korzyści ze stosowania zmiennych globalnych

Poniżej przedstawiono kilka głównych korzyści zapewnianych przez zmienne globalne:

  • Dostęp do zmiennej globalnej można uzyskać bezpośrednio ze wszystkich funkcji, bez przekazywania argumentów w programie.
  • Zmienne globalne są bardzo przydatne, gdy wiele funkcji uzyskuje dostęp do tej samej zmiennej.
  • Zmienna globalna wymagała jedynie jednorazowej deklaracji w programie.

Wady używania zmiennych globalnych

Zmienne globalne mają również pewne wady. Niektórzy z nich są:

  • Czasami zmienna globalna może powodować problemy konfliktowe, ponieważ wiele programów próbuje je modyfikować w tym samym czasie, zazwyczaj w programach wielowątkowych.
  • Czasami może to prowadzić do zmiennego cieniowania.
  • Zmienne globalne mogą sprawić, że kod będzie mniej czytelny i trudniejszy w utrzymaniu.
  • Istnieją również pewne obawy związane z bezpieczeństwem i błędami, ponieważ można je modyfikować lub uzyskać do nich dostęp w dowolnej części programu.
  • Czasami, jeśli użyjesz większej liczby w zmiennej globalnej, istnieje duże ryzyko błędu w programie.

Wniosek

Zmienne globalne są bardzo przydatnymi, ale „trudnymi do śledzenia” zmiennymi w języku programowania C++. Są przydatne, ponieważ możemy uzyskać dostęp do tej samej zmiennej w dowolnej części programu, ale należy ich używać tak, aby nie uczynić kodu mniej czytelnym i trudniejszym w utrzymaniu, a także zadbać o aspekty bezpieczeństwa. Dlatego sugeruje się, aby używać zmiennych globalnych rzadko i ostrożnie, a jeśli to możliwe, preferować zmienne lokalne lub inne alternatywy.