У меня много предметов, я удаляю. Для каждого элемента я вызываю следующие строки связанных кодов:
if (item) {
delete item;
item=nullptr;
}
, поэтому вместо этого я рассматриваю возможность использования шаблонов путем определения одной функции:
template <typename T>
void delete_it(T &item) {
if (item) {
delete item;
item=nullptr;
}
}
из этого следующие строки работают нормально:
delete_it(an_item);
delete_it(another_item);
Я проверил это, динамически выделяя символьный массив, и он, кажется, работал нормально. Тем не менее, я не видел его где-либо использовать. Это подходящий способ удаления? Есть ли функция библиотеки (например, std) делает именно это? Спасибо,