我不得不创建一个利用 STL 的链表类型结构。有一种方法必须从此链表结构中删除对象。我目前有正确重新链接表备份的方法,但是我不确定我实际上是否正确地从内存中删除了对象。我目前执行以下操作:
myItem* item = current; //Current position and item to be deleted.
/* Code to move all elements around */
current = current->next; //Move current position along one in the list.
delete item;
我担心的是,我所做的只是创建一个新指针,然后在我移动当前位置后删除指针,而不是删除项目本身。
我做了一些谷歌搜索并尝试添加命令 delete[] 但随后出现分段错误,我将代码编辑为如下所示:
myItem* item = current; //Current position and item to be deleted.
/* Code to move all elements around */
current = current->next; //Move current position along one in the list.
delete[] item; //Deletes item at memory location
delete item; //Deletes temporary pointer
如果我按照最上面的代码保留它,程序会正确执行并执行它应该做的事情,但我担心我没有正确清理我的内存占用。