Может кто-нибудь объяснить, как статические переменные в функциях-членах работают в C++.
Учитывая следующий класс:
class A {
void foo() {
static int i;
i++;
}
}
Если я объявляю несколько экземпляров A
, увеличивает ли вызов foo()
в одном экземпляре статическую переменную i
во всех экземплярах? Или только тот, который был вызван?
Я предполагал, что у каждого экземпляра будет своя собственная копия i
, но пошаговое выполнение некоторого кода, который я имею, указывает на обратное.