Questions tagged «erase»


5
从向量中删除元素
我想使用擦除方法从向量中清除元素。但是这里的问题是不能保证元素在向量中仅出现一次。它可能存在多次,我需要清除所有这些。我的代码是这样的: void erase(std::vector<int>& myNumbers_in, int number_in) { std::vector<int>::iterator iter = myNumbers_in.begin(); std::vector<int>::iterator endIter = myNumbers_in.end(); for(; iter != endIter; ++iter) { if(*iter == number_in) { myNumbers_in.erase(iter); } } } int main(int argc, char* argv[]) { std::vector<int> myNmbers; for(int i = 0; i < 2; ++i) { myNmbers.push_back(i); myNmbers.push_back(i); } erase(myNmbers, …
101 c++  vector  stl  erase 



7
删除循环内向量的元素
我知道也有与此类似的问题,但是我没有设法借助他们的帮助在我的代码中找到出路。我只想通过在循环内检查此元素的属性来删除/删除向量的元素。我怎样才能做到这一点?我尝试了以下代码,但收到了模糊的错误消息: “播放器=”功能在“播放器”中不可用。 for (vector<Player>::iterator it = allPlayers.begin(); it != allPlayers.end(); it++) { if(it->getpMoney()<=0) it = allPlayers.erase(it); else ++it; } 我该怎么办? 更新:您是否认为带有指针成员的问题vector :: erase属于同一问题?因此,我需要一个赋值运算符吗?为什么?
70 c++  vector  erase 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.