1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <iostream>
#include <vector>
using namespace std;
int main(void){
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
v.push_back(5);
for (vector<int>::iterator iter = v.begin(); iter == v.end();){ // 여기서
// iter++ 를 하지 않는다.
if (*iter == 3){
iter = v.erase(iter); // erase함수는 해당 요소를 제거하고
// 그 다음 요소의 iter를 반환
} else {
iter++; // 제거하지 않을 때는 그냥 증가
}
}
return 0;
}
| cs |
2015년 5월 21일 목요일
vector 에서 iterator를 통한 반복 도중 요소 삭제 (vector/iterator/element/erase/delete)
vector에서 iterator를 통해 조회하다가 특정 요소를 삭제시키고 싶을 때 아래와 같이 하시면 됩니다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기