인덱스로 std::벡터에서 요소 지우기
C에서 std::Vector는 요소를 연속 메모리에 효율적으로 저장하는 컨테이너입니다. 위치. 벡터에서 요소를 제거하려면 지우기 기능을 사용합니다.
문제: std::Vector가 주어지면 특정 위치에서 요소를 삭제합니다. index.
예:
std::vector<int> vec; vec.push_back(6); vec.push_back(-17); vec.push_back(12); vec.erase(???); // How to delete the second element?
해결책:
인덱스별로 단일 요소를 지우려면 std를 사용합니다. :다음에 원하는 만큼 벡터 반복자를 증가시킵니다. 색인:
vec.erase(std::next(vec.begin(), elementIndex));
요소 범위를 지우려면 시작 및 끝 반복자를 지정합니다.
int startIndex = 1; int endIndex = 3; vec.erase(std::next(vec.begin(), startIndex), std::next(vec.begin(), endIndex));
제공된 예에서 다음 코드는 두 번째 요소(vec[ 1]):
vec.erase(std::next(vec.begin()));
두 번째 및 세 번째 요소를 삭제하려면 다음을 사용하세요.
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));
위 내용은 인덱스별로 C std::벡터에서 요소를 지우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!