Jaka jest najkrótsza partia C++, którą możesz wymyślić, aby bezpiecznie wyczyścić wektor lub listę wskaźników? (zakładając, że musisz wywołać delete na wskaźnikach?)Czyszczenie listy/wektora wskaźników STL
list<Foo*> foo_list;
Wolałbym nie używać Boost ani nie owijać moich wskaźników inteligentnymi wskaźnikami.
Inteligentne wskaźniki (w tym Boost :: shared_ptr) usunie obiekty w okolicznościach, w których trudno będzie zauważyć, że są wykonywane ręcznie. –
To naprawdę niebezpieczne polegać na kodzie poza kontenerem, aby usunąć wskaźniki. Co dzieje się, gdy kontener zostanie zniszczony na przykład przez zgłoszony wyjątek? Wiem, że powiedziałeś, że nie lubisz wzmocnienia, ale rozważ proszę [pojemniki z wskaźnikami doładowania] (http://www.boost.org/doc/libs/1_37_0/libs/ptr_container/doc/ptr_container.html). –
i druga twoja opinia –