Я реализую стандартную структуру дерева шаблонов, и я столкнулся с небольшой проблемой.
Идея, что каждый узел будет содержать указатель на некоторые данные.Позже, чтобы правильно удалить элемент, мне нужно знать, является ли он одним указателем или указателем на массив.
Внутри моего tree->ReleaseMemory()
метода у меня есть этот код:
if (node->_data != NULL) {
switch (_destructionMethod){
case tree_delete:
delete node->_data; break;
case tree_deleteList:
delete [] node->_data; break;
case tree_free:
free(node->_data); break;
}
}
, где _destructionMethod
было установлено во время инициализации узла.Есть ли способ, которым я могу выбрать правильный деструктор, не определяя его в специальной переменной для него во время инициализации?
Спасибо!