logo

C++ globální proměnné

Předpoklady : Rozsah proměnných , Funkce v C++

V programovacích jazycích C++ je proměnná název poskytnutý paměti pro uložení různých datových typů. Hodnoty proměnných se mohou měnit kdykoli během běhu programu a každá proměnná má svůj vlastní rozsah (nebo oblast), kde je platný přístup k proměnné pomocí jí přiděleného názvu.



V programování nejsou všechny proměnné stejné. Jejich rozsah, životnost a dostupnost v programu závisí na tom, kde a jak jsou deklarovány. Existují dva typy proměnných podle jejich rozsahu.

    Lokální proměnná – Rozsah těchto proměnných existuje pouze v rámci bloku, ve kterém je proměnná deklarována. tj. k této proměnné můžeme přistupovat pouze v rámci tohoto bloku. Globální proměnná – Globální proměnné jsou speciálním typem s nejširším možným rozsahem. Je deklarován mimo všechny funkce a bloky, v horní části programu. Lze k nim přistupovat z libovolné části programu.

Globální proměnná v C++

Globální proměnné jsou proměnné, které jsou deklarovány mimo jakoukoli funkci nebo třídu a lze k nim přistupovat jakoukoli částí programu. Obvykle jsou deklarovány na začátku zdrojového souboru za hlavičkovým souborem. Jsou k dispozici po celou dobu trvání programu a jsou přístupné odkudkoli v rámci programu.

Deklarace globální proměnné v C++

Chcete-li vytvořit globální proměnnou, jednoduše ji deklarujeme v horní části zdrojového souboru, za hlavičkovými soubory a před hlavní funkcí. V C++ musí být všechny proměnné před použitím deklarovány.



Příklad 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;> }>

řetězec jsonobject

>

>

Výstup

10>

Vysvětlení

  • V tomto příkladu je `x` globální proměnná, do které lze uložit celočíselnou hodnotu.
  • Při spuštění programu se inicializuje na 10.
  • Protože je deklarován mimo jakoukoli funkci nebo třídu, lze k němu přistupovat a upravovat jej jakoukoli funkcí nebo třídou v programu.

Nyní by se někdo mohl divit, proč byste chtěli ve svém programu používat globální proměnné.

Příklad 2

C++




vypněte režim vývojáře

// 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();> }>

>

>

Výstup

5 10>

Vysvětlení

  • V tomto příkladu je „int global“ globální proměnná, která ukládá celočíselnou hodnotu.
  • Při spuštění programu se inicializoval s 5.
  • Poté toto volání přejde na hlavní funkci a poté zavolá funkci display, která vypíše globální proměnnou.
  • Po vytištění 5 se hodnota globální proměnné změní na 10. Nyní se opět vyvolá funkce display a vytiskne se nová hodnota proměnné global 10.

Výhody používání globálních proměnných

Níže jsou uvedeny některé hlavní výhody, které globální proměnné poskytují:

java reverzní řetězec
  • Globální proměnná je přístupná přímo všemi funkcemi bez předávání argumentu v programu.
  • Globální proměnné jsou velmi užitečné, když mnoho funkcí přistupuje ke stejné proměnné.
  • Globální proměnná vyžadovala pouze jednorázovou deklaraci v programu.

Nevýhody používání globálních proměnných

Globální proměnné mají také určité nevýhody. Někteří z nich jsou:

  • Někdy může globální proměnná způsobit konfliktní problémy, protože se je snaží upravit více programů současně, obvykle ve vícevláknových programech.
  • Někdy může vést k proměnlivému stínování.
  • Globální proměnné mohou způsobit, že kód bude méně čitelný a méně udržovatelný.
  • Existuje také určitá obava o zabezpečení a chyby, protože je lze upravit nebo k nim přistupovat jakákoli část programu.
  • Někdy, pokud použijete větší číslo v globální proměnné, existuje vysoká pravděpodobnost chyby v programu.

Závěr

Globální proměnné jsou velmi užitečné, ale „obtížně sledovatelné“ proměnné v programovacím jazyce C++. Jsou užitečné, protože můžeme přistupovat ke stejné proměnné v kterékoli části programu, ale musí být použita tak, aby nedělala kód méně čitelný a méně udržovatelný a také se starala o bezpečnostní aspekty. Proto se doporučuje používat globální proměnné zřídka a opatrně a preferovat lokální proměnné nebo jiné alternativy, kdykoli je to možné.