gpt4 book ai didi

c++ - 删除 std::list 的内容

转载 作者:太空宇宙 更新时间:2023-11-04 15:34:03 25 4
gpt4 key购买 nike

我有一个我不再需要的指针列表。要删除所有这些,我通常可以迭代列表:

for (T* ptr: mylist) {
delete ptr;
}

或者我可以删除第一个或最后一个元素,直到列表为空:

while (!mylist.empty()) {
delete mylist.front(); //or mylist.back()
mylist.pop_front(); //or mylist.pop_back()
}

对于性能和清晰度而言,首选方式是什么?

最佳答案

最好的方法是将 std::unique_ptr 存储在列表中,而不是自己管理内存。然后你只需执行 mylist.clear()

关于c++ - 删除 std::list 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39964394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com