У меня много кода, в котором я удаляю векторные контейнеры, в которых есть указатели, то есть сначала мне нужно удалить все указатели, а затем очистить контейнер. Каждый раз я перебирал и удалял указатели вручную (я знаю stl :: алгоритмы for_each). Чтобы обойти весь этот код, я создал шаблон для удаления всех векторных контейнеров, имеющих указатель. Пока все хорошо.
Теперь у меня есть еще несколько типов контейнеров, включая карты, параллельные контейнеры и т. Д., Все с той же функциональностью, что и при удалении. Имеющаяся у меня функция DeleteContainer (std :: vector
может работать только с векторами, как упомянуто выше. Есть ли способ сделать его достаточно универсальным для работы со всеми контейнерами?
РЕДАКТИРОВАТЬ: Спасибо за все ответы, я хотел бы выбрать более одного. Всем, кто наткнется на этот вопрос, прочтите все ответы, а не только выбранный, поскольку все они предоставляют отличную информацию.