Obszary dostępu do zmiennych
Stronę tą wyświetlono już: 1921 razy
Zmienne można podzielić pod względem dostępu do nich na globalne i lokalne. Globalne zmienne nie znajdują się ani w ciele żadnej funkcji, ani też metody klasy czy też w bloku instrukcji warunkowych i pętli, przez co tego typu zmienne są widoczne dla całego obszaru kodu programu, który znajduje się po deklaracji danej zmiennej. Zmienne lokalne mogą mieć taką samą nazwę co zmienne globalne i w takim przypadku mówi się, że zmienna lokalna przysłoniła zmienną globalną. Zmiennymi lokalnymi są również argumenty funkcji. Prosty przykład:
- #include <iostream>
- using namespace std;
- void Function1(){
- // cout<<x; // odkomentowanie tej linii spowoduje błąd podczas kompilacji, gdyż zmienna globalna x została zadeklarowana dopiero po deklaracji tej funkcji
- }
- int x = 100;
- void Function2(){
- cout<<x<<endl<<endl; // tutaj funkcja odwołuje się do zmiennej globalnej
- }
- void Function3(int x){
- cout<<x<<endl<<endl; // tutaj zmienna globalna została przysłonięta przez zmienną z listy funkcji
- }
- void Function4(){
- int x = 200; // ta deklaracja zmiennej lokalnej przysłania zmienną globalną
- cout<<x<<endl<<endl; // wyświetli 200 a nie 100, bo odwołuje się do zmiennej lokalnej a nie globalnej x
- }
- int main(){
- cout<<"Wysolanie funkcji, ktora odwoluje sie do zmiennej globalnej x: ";
- Function2();
- cout<<"Wysolanie funkcji, ktora odwoluje sie do zmiennej x, podanej jako argument funkcji: ";
- Function3(10);
- cout<<"Wysolanie funkcji, ktora odwoluje sie do zmiennej lokalnej x: ";
- Function4();
- cout<<"Wcisnij dowolny przycisk, aby zamknac program...";
- cin.get();
- return 0;
- }

Tytuł:
Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów
Autor:
Adrian Ostrowski, Piotr Gaczkowski

Tytuł:
Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Autor:
Jerzy Grębosz

Tytuł:
Programowanie wieloplatformowe z C++ i wxWidgets 3
Autor:
Bartosz W. Warzocha

Tytuł:
Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Autor:
Anthony Williams

Tytuł:
C++ dla bystrzaków. Wydanie VII
Autor:
Stephen R. Davis

Tytuł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół

Tytuł:
Opus magnum C++11. Programowanie w języku C++ (komplet)
Autor:
Jerzy Grębosz

Tytuł:
OpenCV 3. Komputerowe rozpoznawanie obrazu w C++ przy użyciu biblioteki OpenCV
Autor:
Adrian Kaehler, Gary Bradski

Tytuł:
C++ w 24 godziny. Wydanie VI
Autor:
Rogers Cadenhead, Jesse Liberty

Tytuł:
C++ Optymalizacja kodu. Sprawdzone techniki zwiększania wydajności
Autor:
Guntheroth Kurt