Здравствуйте, гость ( Вход | Регистрация )
Litkevich Yuriy | Дата 28.8.2011, 18:15 |
Ничего не понял сделай статический член класса MyClass - вектор указателей на экземпляры. В конструкторе myClasses добавляй туда элемент this, в деструкторе удаляй. Заводишь статическую переменную в классе и статическую функцию чтения из неё:
Используешь так:
|
|
Алексей1153 | Дата 28.8.2011, 11:23 |
Цитата Отличная мысль! ну это, как бы, единственный возможный способ, насколько я понимаю. По сути - глобальная переменная с определённой областью видимостью RazrFalcon, это я подчеркнул особенность работы вектора. Насчёт поведения QVector - не проверял, QList же, скорее всего, вызывает конструкторы исправно |
|
RazrFalcon | Дата 27.8.2011, 21:44 |
Ничего не понял std то тут причем =/ Юзаю QList - пока норм. |
|
Litkevich Yuriy | Дата 27.8.2011, 19:45 |
сделай статический член класса MyClass - вектор указателей на экземпляры. В конструкторе myClasses добавляй туда элемент this, в деструкторе удаляй. Отличная мысль! |
|
Алексей1153 | Дата 27.8.2011, 18:18 |
сделай статический член класса MyClass - вектор указателей на экземпляры. В конструкторе myClasses добавляй туда элемент this, в деструкторе удаляй. Учитывай многопоточность. Учитывай переаллокацию списка при большом количестве создаваемых объектов (это не сложно - можно зарезервировать вызовом статической функции класса MyClass) также учитывай, что если объекты MyClass будешь создавать в std::vector , то конструктор вызовется не для каждого элемента. К примеру
|
|
RazrFalcon | Дата 27.8.2011, 10:47 |
Тот метод что вы предложили, я использовал до этого. Но думал что есть другой метод. Просто этот лист приходится делать глобальный. Я просто думал сделать через qobject_cast, но не пойму как найти все итемы одного класса через него. |
|
Litkevich Yuriy | Дата 27.8.2011, 10:35 |
как затем в коде программы получить список ВСЕХ MyClass? всех объектов? или все собственных классов?Если объектов, то нужно этот список создавать самому, например:
|
|
RazrFalcon | Дата 27.8.2011, 10:23 |
Есть свой собственный класс, наследник от QObject. Этот класс хранит инфо об одном файле. Классов создается столько, сколько файлов (через new).
Вопрос: как затем в коде программы получить список ВСЕХ MyClass? Кроме как через static_cast ничего в голову не приходит. Может есть другой, более правильный, метод? PS: название темы лучше придумать не смог... |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 13:33 |