Время жизни статической переменной внутри класса и изменение ее значения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

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