Per static si indica una variabile di tipo locale che però conserva il suo valore anche all'esterno della porzione di codice in cui è valida, ad esempio:
codice:
void funz1(){
 static int var = 0;
 var++;
 cout << var;
}
void funz2(){
 int var = 0;
 var++;
 cout << var;
}
La funzione due ogni volta che è chiamata stampa 0 (la variabile var è creata daccapo ad ogni chiamata della funzione), la funzione1 stampa ogni volta var incrementata di 1 perchè var "ricorda" il suo valore della chiamata precedente.
Spero di essere stato chiaro e, sopratutto, corretto!