-5
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;
};

メモリを解放するためのデストラクタの 2 つのバリアントのうち、どちらが高速か (なぜですか?):

~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();
    }
}
4

1 に答える 1