Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Удаление объектов класса.
Форум на CrossPlatform.RU > Разработка > С\С++
Trisch
К примеру есть функция в которой создается объект некого класса, к примеру:

...
void Test()
{
    testClass = new TestClass()
}
...


Эта функция может вызываться N раз, в этого у получается N объектов некого класса.

Как, потом, эти объекты все разом удалить?
ViGOur
Сделать глобальный список этих объектов:
std::list<TestClass*> g_list;
// ...
void Test()
{
   testClass = new TestClass()
   g_list.push_back( testClass );
}
После чего в какаом-то месте этот g_list очищай, а лучше создай класс, вроде этого:
class CTest
{
  std::list<TestClass*> m_list;

public:
  void Test()
  {
     testClass = new TestClass()
     m_list.push_back( testClass );
  }
};
и пользовать его...
sidsukana
Хранить в глобальном контейнере каждый новый объект.
Алексей1153
лучше уж в статическом чем в глобальном. А вообще смотря какая задача - может быть что лучше в мембере класса
Iron Bug
как вариант: использовать умные указатели и объекты сами удалятся, когда их никто не будет использовать.
в частности, shared_ptr в стандарте С++11, или его библиотечные реализации в любой библиотеке.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.