Статический Вар в теле метода, совместно использованном всеми экземплярами

class MyClass
{
public:
 void method2()
 {
  static int i;
  ...
 }
};

Будет каждый экземпляр MyClass совместно используйте одно значение i, или каждый экземпляр будет иметь свою собственную копию?

6
задан Mr. Boy 4 March 2010 в 15:45
поделиться

2 ответа

static, здесь, действует как в любой обычной функции.

Что означает, что i является static внутри MyClass::method2, поэтому существует один и только один его экземпляр.

Иметь один экземпляр переменной на объект - вот для чего нужны переменные экземпляра.

7
ответ дан 8 December 2019 в 17:20
поделиться

Каждый экземпляр MyClass будет иметь одно значение i.

7
ответ дан 8 December 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: