STL 벡터에서 효율적인 값 제거
STL 벡터 클래스에서 제공하는 광범위한 기능에도 불구하고 기반 요소를 삭제하는 명시적인 기능이 부족합니다. 그들의 가치에. 그러나 이 작업은 일반적으로 발생합니다.
해결책: std::remove 사용
STL은 요소를 명시적으로 제거하지 않는 std::remove 함수를 제공합니다. 그러나 유지될 요소를 컨테이너의 시작 부분으로 재배치합니다. 유지된 요소를 지나 가리키는 반복자를 반환합니다.
auto new_end = std::remove(vec.begin(), vec.end(), int_to_remove);
제거를 완료하려면 vec.erase를 사용하여 현재 끝에 있는 초과 요소를 제거할 수 있습니다.
vec.erase(new_end, vec.end());
이 접근 방식은 벡터의 연속 구조를 유지하면서 대상 값이 있는 요소를 효과적으로 제거합니다.
위 내용은 STL 벡터에서 값별로 요소를 효율적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!