1
remove_if
및 vector<T>::erase
의 작동 방식을 파악하려고합니다. 나는 (홀수 요소를 제거하려는) 아래의 코드가 있습니다알고리즘이있는 벡터의 특정 요소 지우기
v2.clear();
v2 = { 10, 20, 21, 30, 31, 33, 44, 66, 67 }; //vector<int>
cout << "v2 is now: " << endl;
printCollection(v2);
cout << "Trying to remove odds from v2: " << endl;
auto what = remove_if(begin(v2), end(v2), [](int elem) {return elem % 2 != 0;});
v2.erase(begin(v2), what);
printCollection(v2);
을하고 여기에 출력됩니다 : 무슨 일
v2 is now:
10 20 21 30 31 33 44 66 67
Trying to remove odds from v2:
33 44 66 67
은?