Локальні статичні змінні
Статичні змінні, на відміну від глобальних,
невідомі поза межами своєї функції чи
файлу, і зберігають свої значення між
викликами.
Якщо змінна оголошена як static,
то компілятор виділяє під неї постійне
місце у пам’яті, як і для глобальної
змінної. Принципова відмінність локальної
статичної змінної від глобальної полягає
у тому, що перша залишається доступною
тільки у межах свого блоку.
Такі змінні корисні для написання
ізольованих частин програм, оскільки
між викликами їх можна використовувати
в інших частинах програми. Якщо би
статичних змінних не було, доводилося
би використовувати глобальні змінні.
#include
<iostream>
using
namespace
std;
void
f()
{
static
int
x=0;
cout << x <<endl;
x++;
}
int
main()
{
int
x=1000;
for(int
i=0; i<10; i++)
f();
}