Время жизни статической переменной внутри класса и изменение ее значенияC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Время жизни статической переменной внутри класса и изменение ее значения

Сообщение Anonymous »

Код: Выделить всё

class B{
public:
static int Setdec(int val, bool bGet = false) {
static int dec = 0;
if (!bGet) dec = val;
return dec;
}
static int Getdec() {
return Setdec(0, true);
}
static int dec() {
return Getdec();
}
};
int main(){
B::Setdec(10);
printf("The value of static member is %d", B::dec());
return 0;
}
в строке B::Setdec(10); кажется, что статическая переменная dec была создана внутри класса B и, таким образом, он стал статическим членом класса B. Его значение равно 10. Но почему в строке printf("Значение статического элемента %d", B::dec()); его значение по-прежнему равно 10? Оно снова не изменилось на 0?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -its-value
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»