Я ищу функтор, который удаляет его аргумент:
template<class T>
struct delete_functor
{
void operator()(T* p)
{
delete p;
}
};
Есть ли что-то вроде этого в std
, tr1
или boost
?
C ++ 0x добавит std :: default_delete
в стандартную библиотеку для поддержки std :: unique_ptr
.
По сути, он имеет те же функции, что и ваш delete_functor
, но также специализируется на вызове delete []
для объектов типа массива.