Zmienna w C++
14 July 2008
Comments
Zasięg deklaracji to ta część programu, gdzie deklaracja jest aktywna. Zakres widoczności to ten fragment (fragmenty) kodu, w którym nazwa identyfikatora jest związana z tą deklaracją. Zakres widoczności może być węższy niż zasięg deklaracji na skutek przesłonięcia.- Zmienne zadeklarowane poza funkcjami (zmienne globalne) są widoczne od miejsca deklaracji do końca pliku. Mogą być widoczne w innych modułach/plikach jeżeli są zadeklarowane z identyfikatorem extern.
- Zmienne lokalne definiowane są wewnątrz funkcji. Ich zasięg obejmuje część programu od miejsca deklaracji do końca funkcji.
- Zmienne globalne mogą być przesłonięte. Jeżeli wewnątrz funkcji zadeklarujemy zmienną o tej samej nazwie to przesłoni ona zmienną globalną.
- Dostęp do przesłoniętej zmiennej globalnej uzyskamy poprzez operator zasięgu :: dodany przed nazwą zmiennej: ::Zmienne
#include<iostream>
using namespace std;
int zmienna = 5;
int main()
{
char zmienna = 'A';
cout << zmienna << endl;
cout << ::zmienna << endl;
}
#include<iostream>
using namespace std;
void nic(int param)
{
int stat;
if (param > 1)
{
stat = 10;
}
cout << "STAT: " << stat << " PARAM: " << param << endl;
}
int main()
{
nic(2);
cout << "Bla bla bla" << endl;
nic(1);
}
STAT: 10 PARAM: 2 Bla bla bla STAT: 0 PARAM: 1
#include<iostream>
using namespace std;
void nic(int param)
{
static int stat;
if (param > 1)
{
stat = 10;
}
cout << "STAT: " << stat << " PARAM: " << param << endl;
}
int main()
{
nic(2);
cout << "Bla bla bla" << endl;
nic(1);
}
STAT: 10 PARAM: 2 Bla bla bla STAT: 10 PARAM: 1
RkBlog
Comment article