清除临时列表而不清除我将其分配到的位置

Clear temporary list without clearing where I assign it to

本文关键字:清除 分配 位置 列表      更新时间:2023-10-16

>我有一个"Slate",它本质上是当前屏幕,在该屏幕中是容纳最大 12 个大小的"项目"的"页面",因为这就是屏幕上适合的全部内容,所以我试图检查,一旦它达到 12 个项目,创建一个新页面,但下面列出的代码只是在第 1 页或第 2 页中没有留下任何项目

int pageItems = 0;    
std::list<item*> tempList;
page* temp = new page;  
for (std::list<item*>::iterator iter = items.begin(); iter != items.end(); ++iter)
{
    tempList.push_back((*iter));
    if (pageItems >= 13) {
        page_Count++;
        temp->items = tempList;
        pages.push_back(temp);
        tempList.clear();
        temp->items.clear();
        pageItems = 0;
    }
    pageItems++;
}

页面是一个包含 std::list 的类,但应该只处理 12,然后将使用下一个数量创建一个新页面,如果它超过 12,则为新类slate 是保存 std::list 和 std::list 的类,项目一只是为了更容易创建一个类,因为最初它没有页面,现在我只是根据给 slate 的数量将"项目"输入到"页面"中

我认为这是你的问题:

    temp->items.clear();

将页面添加到页面列表后,您似乎清除了该页面