I have written a working templated linked list that can hold a number of Types. Each of which are created with new before sending them to the InsertNode function.
in Main:
CMyType* pMyType1 = new CMyType; // Create a new MyType*
pMyType1->m_iData = 5; // Hold a value
LLMyTypes.InsertAtEnd(pMyType1);
in CLinkedList::InsertAtEnd(...)
CNode<T>* pNewNode = new CNode<T>(pData);
...
m_uNodeCount++;
Should I delete just the node? or the data then the node or what? I have run some tests and the following runs fine
within CLinkedList::DeleteNode(...)
delete pNode->GetData(); // inline just returns m_pData (calls destructor of MyType)
delete pNode; // (calls destructor)
Is this ok to do. I tried just deleting ONLY the node and in the debugger it shows m_pData going null too. But since I new'd the pMyType in main shouldn't I delete that somewhere as well?
I look forward to your reply.