class MyClass
{
public:
void method2()
{
static int i;
...
}
};
Будет каждый экземпляр MyClass
совместно используйте одно значение i
, или каждый экземпляр будет иметь свою собственную копию?
static
, здесь, действует как в любой обычной функции.
Что означает, что i
является static
внутри MyClass::method2
, поэтому существует один и только один его экземпляр.
Иметь один экземпляр переменной на объект - вот для чего нужны переменные экземпляра.
Каждый экземпляр MyClass
будет иметь одно значение i
.