作为模拟的一部分,我目前正在迭代大型对象向量,寻找具有属性的对象。在我看来,将这些对象的地址存储在另一个指针向量中会更快,直到我不再需要对它们进行操作...示例代码看起来像这样...我不确定擦除部分。
public:
bool studying = false;
void study();
};
void student::study()
{
//Read a book
studying = false;
};
int vector_question_main(int argc, char* argv[])
{
std::vector<student> masterList;
std::vector<student*> studyingList;
student lazy1;
student good1;
good1.studying = true;
student* s = &masterList.at(1);
studyingList.push_back(s);
for (int i = 0; i < studyingList.size(); i++)
{
studyingList.at(i)->study();
if (studyingList.at(i)->studying == false)
{
studyingList.erase(i);
}
}
}
我是在正确的轨道上还是有更好的&#34;办法?为了帮助定义我的情况,我事先不知道我有多少物品或需要跟踪多少物体。我将需要迭代并对它们进行操作分配。
编辑: 感谢您的初步回复。
@PaulMcKenzie 到目前为止,我需要从我的对象集合中获得的硬性要求/陈述是......
我预计未来的要求是我只想迭代一个较小的子集。过早优化。谢谢@Jack Deeth