[英]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.