1
벡터에서 중복 된 숫자를 삭제하려고합니다. 이를 위해 다음을 사용합니다.vector.erase가 내 복제본을 모두 삭제하는 이유는 무엇입니까?
vec1.erase( unique(vec1.begin(),vec1.end()) ,vec1.end());
Google과 함께 사용하면 문제가 해결됩니다. 제 질문은 왜 그런가요? 내가 cplusplus에서 읽은 바에 따르면 지우기은 마지막 매개 변수에서 첫 번째 매개 변수를 제거합니다. 예 : 제가 쓰고 있어요 것은 간단 버전 있도록
vec1.erase(vec1.begin(),vec1.begin()+3); //removes first 3 elements
및 독특한는 첫 번째 중복에 대한 포인터를 반환
vec1.erase(first duplicate, vec1.end());
해야 할 첫 번째 중복 된 후 나의 벡터 끝 ?
cplusplus는 좋은 참조로 간주되지 않습니다. [cppreference] (http://en.cppreference.com/w/cpp/algorithm/unique)를 읽어보십시오. – ecatmur