簡體   English   中英

我需要以獨特的方式更新C ++中的指針向量

[英]I need to update a Vector of pointers in C++ in a unique way

所以我有一個指向我定義的類的指針向量。 我有一個函數,將指針的0索引返回。 之后,我需要刪除該索引中的數據,然后將該項目放在向量的最后一個索引中,並將其放入0索引中。 截至目前,如果將指針返回,我只是將其設置為NULL,然后將向量中的最后一個對象推回並最終將其彈出。 我不確定這種方法是否是解決我的問題的最佳方法。 這是我的代碼:

Instrument* loanOut() {
for (int i = 0, i < library.size(), i++) {
        if (library[i] != NULL) {
            return library[i];
        }
        else {
            return NULL;
        }
    }
    library[0] = NULL;
    library.push_back(library[library.size()]);

}

從算法上講,這就是您所描述的:

Object PopFrontAndReplace(std::vector<Object>& objects) {
    if (!objects.size()) {return Object();}
    Object o = objects[0];
    objects[0] = objects.back();
    objects.pop_back();
    return o;
}

這能回答問題嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM