C++ C++;在为每个\u设置期间从集合中删除元素
只要不删除当前项,在集合上为每个元素执行操作时从集合中删除元素是否合法 Set erase使所有迭代器保持有效,但被擦除的迭代器除外 例如:C++ C++;在为每个\u设置期间从集合中删除元素,c++,dictionary,foreach,set,erase,C++,Dictionary,Foreach,Set,Erase,只要不删除当前项,在集合上为每个元素执行操作时从集合中删除元素是否合法 Set erase使所有迭代器保持有效,但被擦除的迭代器除外 例如: set<int> nums{0, 1, 2, 3, 4}; void weird_remove(int x) { int randnum = rand() % 5; if (randnum != x) { nums.erase(randnum); } } int main() { for_ea
set<int> nums{0, 1, 2, 3, 4};
void weird_remove(int x) {
int randnum = rand() % 5;
if (randnum != x) {
nums.erase(randnum);
}
}
int main() {
for_each(nums.begin(), nums.end(), weird_remove);
}
set nums{0,1,2,3,4};
无效删除(int x){
int randnum=rand()%5;
if(randnum!=x){
nums.erase(randnum);
}
}
int main(){
对于每个(nums.begin()、nums.end()、word_remove);
}
在循环的范围内又如何呢
我假设答案既适用于地图,也适用于集合。问题:
在集合
上对每个执行操作时,从集合
中删除元素是否合法,只要不删除当前项即可
是的,这是合法的
发件人:
大小类型擦除(常量键类型和键);(3)
从容器中删除指定的元素。
3) 删除具有键值键的所有元素
对已删除元素的引用和迭代器无效。其他引用和迭代器不受影响