standart 템플릿 트리 구조를 구현 중이며 작은 문제가 발생했습니다.어떤 방법으로 포인터를 삭제할 수 있습니다 : 삭제/삭제 []/무료?
각 노드가 일부 데이터에 대한 포인터를 보유한다는 아이디어. 나중에 요소를 올바르게 삭제하려면 배열에 대한 단일 포인터인지 포인터인지를 알아야합니다. 내 tree->ReleaseMemory()
방법의 내부
이 코드를 가지고 :
_destructionMethod
이 노드의 초기화시에 설정 한
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;
}
}
. 초기화 중에 특수 변수에 미리 정의하지 않고 올바른 소멸자를 선택할 수있는 방법이 있습니까?
감사합니다.
필자는 이것이 스마트 포인터로 작업하는 방법을 이해할 수있는 좋은시기라고 생각합니다. 선택적으로 객체 래핑으로 돌아갈 것입니다.감사합니다. – kirbo