Можно ли удалить не новый объект?

У меня есть объект с вектором указателей на другие объекты в нем, что-то вроде этого:

class Object {
    ...
    vector<Object*> objlist;
    ...
};

Теперь объекты будут добавлены в список обоими способами :

Object obj;
obj.objlist.push_back(new Object);

и

Object name;
Object* anon = &name;
obj.objlist.push_back(anon);

Если создать деструктор, который является просто

~Object {
    for (int i = 0; i < objlist.size(); i++) {
        delete objlist[i];
        objlist[i] = NULL;
    }
}

, будут ли какие-либо неблагоприятные последствия с точки зрения того, когда он пытается удалить объект, который не был создан с помощью new?

16
задан Unihedron 10 August 2014 в 15:53
поделиться