Zasłanianie zmiennych lokalnych
int main()
{
....
int i, k=10;
int* wsk = &k;
for(i=0;i<10;i++)
{
....
int k = 5; // zasłaniamy zmienną lokalną k
....
*wsk = 13; // zasłonięty obiekt jest dostępny
// przy pomocy wskaźnika lub referencji
}
}
- W bloku pętli for zmienna lokalna k zasłania inną zmienną lokalną o takim samym identyfikatorze
- Zmienna lokalna nie jest dostępna przy pomocy swojego identyfikatora
- Obiekt zasłoniętej zmiennej lokalnej jest mimo wszystko dostępny, ale przy pomocy innych identyfikatorów. Mogą to być wskaźniki lub referencje.
Przykład - zasłanianie zmiennych lokalnych