Vector < Node* > vec;
for (int i = 0; i < 4; ++i)
{
auto n = Node::create();
n->setTag(i);
vec.pushBack(n);
}
Vector<Node*> toErase;
for(auto n : vec)
{
if (n->getTag() % 2 == 0)
{
toErase.pushBack(n);
}
}
//感觉这种效率不高 删除一个元素要遍历一次vector
for (auto n : toErase)
{
vec.eraseObject(n);
}
//这一种效率比较好
vector<int>::iterator iter = Numbers.begin();
while (iter != Numbers.end())
{
if(*iter == 10)
iter = Numbers.erase(iter);
else
iter ++ ;
}
//这一种更方便
vector<int>::iterator iter = Numbers.end();
while( iter != Numbers.begin())
{
iter--;
if(*iter == 10)iter = Numbers.erase(iter);
}