인덱스로 vector<>의 원소를 지우려면 어떻게 해야 하나요?


std::vector에서 n번째 원소를 지우려면 어떻게 해야 되나요? 밑의 소스코드에서 erase()같은 함수는 어떻게 써야 하나요?

소스코드

std::vector<int> vec;

vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);

vec.erase(???); ////이거 어떻게 하죠???
  • 2016년 01월 15일에 작성됨

조회수 222


1 답변


좋아요
0
싫어요
채택취소하기

원소 하나만 지울거면

std::vector<int> vec;

vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);

// 2번째 원소(vec[1])지우기
vec.erase(vec.begin() + 1);

원소 여러 개를 지울 거면

// 2번째 원소부터 3번째 원소까지 (vec[1], vec[2]) 지우기
vec.erase(vec.begin() + 1, vec.begin() + 3);
  • 2016년 01월 15일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close