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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Удаление статического указателя  (Прочитано 3351 раз)
evgeniy
Гость
« : Февраль 05, 2015, 20:40 »

Мне нужен статический указатель в классе. Этот указатель должен создаваться при создании первого объекта класса и удаляться при удалении последнего объекта класса.
Какой самый простой способ решения такой задачи?
« Последнее редактирование: Февраль 05, 2015, 20:42 от evgeniy » Записан
ksk-
Самовар
**
Offline Offline

Сообщений: 178



Просмотр профиля
« Ответ #1 : Февраль 05, 2015, 21:17 »

Видимо, завести счётчик экземпляров класса.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Февраль 26, 2015, 15:34 »

читайте про singleton
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #3 : Февраль 26, 2015, 15:55 »

Не понял проблему. Вроде очевидно:
Код:
class A
{
  static char* ptr;
  static int cnt;
  A();
  ~A();
};

char* A::ptr = 0;
int A::cnt = 0;
A::A()
{
  if(!cnt++)
    ptr = new ...
}
A::~A()
{
  if(!--cnt)
    delete ptr;
}

Инициализация нулем не обязательна - для наглядности.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #4 : Февраль 26, 2015, 16:48 »

Иметь статический QList указателей на экземпляры класса...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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