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é.