struct SomeStruct
{
};
class C
{
public:
C()
{
for (int i = 0; i < 100; ++i)
{
m_List.push_back(new SomeStruct);
}
}
private:
std::list<SomeStruct*> m_List;
};
Какой из двух вариантов деструктора быстрее (почему?) Для освобождения памяти:станд :: Список стирании (свободная память)
~C()
{
for (auto iter = m_List.begin(); iter != m_List.end(); ++iter)
{
delete *iter;
}
}
~C()
{
while (m_List.size() != 0)
{
delete *m_List.begin();
m_List.pop_front();
}
}
Эти исходные указатели очень проблематичны. Я бы предложил просто «SomeStruct», пока не доказал, что вам нужен указатель, а затем используйте умный указатель. – chris
ребята! почему вниз вниз? – Edward83
chris, я знаю о умных указателях, этот вопрос не о том, как хранить указатели, я только хочу, чтобы вы выбрали одного из деструкторов и объяснили, почему вы его выбираете. – Edward83