所以我有一个指向我定义的类的指针向量。我有一个函数,它获取指针的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()]);
}
答案 0 :(得分:0)
在算法上,这就是你所描述的:
Object PopFrontAndReplace(std::vector<Object>& objects) {
if (!objects.size()) {return Object();}
Object o = objects[0];
objects[0] = objects.back();
objects.pop_back();
return o;
}
这会回答这个问题吗?