Qualcuno può spiegare come funzionano le variabili statiche nelle funzioni membro in C ++.
Data la seguente classe:
class A {
void foo() {
static int i;
i++;
}
}
Se dichiaro più istanze di A, la chiamata foo()su un'istanza aumenta la variabile statica isu tutte le istanze? O solo quello a cui è stato chiamato?
Supponevo che ogni istanza avrebbe avuto la sua copia di i, ma scorrere un po 'di codice che ho sembra indicare il contrario.

static int ispecifico dell'istanza, in modo tale che ad es.o1.foo(); // i = 1E$o2.foo(); // i = 1...?