Russian Qt Forum
Ноябрь 23, 2024, 20:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Обнуление статической переменной  (Прочитано 4734 раз)
qt_beginner
Гость
« : Ноябрь 07, 2011, 07:17 »

В одном из методов класса задана статическая переменная.
При удалении экземпляра класса она сохраняет своё значение. Это нормально?
Как её обнулить?
Записан
alexman
Гость
« Ответ #1 : Ноябрь 07, 2011, 09:02 »

присвоить 0
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Ноябрь 07, 2011, 09:22 »

При удалении экземпляра класса она сохраняет своё значение. Это нормально?
Нормально, т.к. оная не принадлежит экземпляру класса.
Записан

Qt 5.11/4.8.7 (X11/Win)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Ноябрь 07, 2011, 11:48 »

присвоить 0
в деструкторе, если что
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
BRE
Гость
« Ответ #4 : Ноябрь 07, 2011, 11:56 »

в деструкторе, если что

В одном из методов класса задана статическая переменная.
Это так:
Код
C++ (Qt)
void Class::method()
{
   static int var = 0;
   ...
}
 
Из деструктора ее не видно. Улыбающийся

2qt_beginner - Или делай ее членом класса и тогда у тебя всегда будет к ней доступ или добавляй какой-то флажок к параметрам этого метода, при взведении которого метод будет занулять эту переменную. Но это жесть. Улыбающийся
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Ноябрь 07, 2011, 14:42 »

невнимательно прочёл сообщение Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.068 секунд. Запросов: 23.