очистка вектора указателей [дубликат]

This question already has an answer here:

How to avoid memory leaks when using a vector of pointers to dynamically allocated objects in C++? 4 answers

Предположим, я определил класс следующим образом:

 class foo {
 private: 
    std::vector< int* > v;
 public:
    ...
    void bar1()
    {
       for (int i = 0; i < 10; i++) {
         int *a = new int;
         v.push_back( a );
       }
    };

    void bar2()
    {
       std::vector< int >::iterator it = v.begin();
       for ( ; it != v.end(); it++ )  
         std::cout << (*it);
       v.clear();
    }
 };

Короче говоря, я возвращаю некоторые указатели в векторе, позже я очищаю вектор. Вопрос в том, имеет ли этот код утечку памяти? Я имею в виду, очистив вектор, правильно ли удалены указатели?

Ответы на вопрос(4)

Ваш ответ на вопрос