我需要更新一个向量的指针在c++中以独特的方式

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

本文关键字:c++ 指针 方式 向量 更新 一个      更新时间:2023-10-16

所以我有一个指向我定义的类的指针向量。我有一个函数,它接受指针的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;
}

这样回答问题了吗?