Czy ktoś może wyjaśnić, jak zmienne statyczne w funkcjach składowych działają w C ++.
Biorąc pod uwagę następującą klasę:
class A {
void foo() {
static int i;
i++;
}
}
Jeśli zadeklaruję wiele wystąpień A, czy wywołanie foo()jednego wystąpienia spowoduje zwiększenie zmiennej statycznej iwe wszystkich wystąpieniach? Czy tylko ten, do którego został wezwany?
Założyłem, że każda instancja będzie miała swoją własną kopię i, ale przeglądanie kodu, który mam, wydaje się wskazywać inaczej.

static int ispecyficzny dla instancji, tak aby np.o1.foo(); // i = 1I$o2.foo(); // i = 1…?