루프 내의 벡터에서 요소 제거
벡터를 반복할 때 다음을 기반으로 요소를 제거해야 하는 시나리오가 있을 수 있습니다. 특정 기준. 그러나 반복하는 동안 벡터를 수정하려고 하면 런타임 오류가 발생할 수 있습니다.
다음 시나리오를 고려하세요.
1 2 3 4 5 6 |
|
이 코드는 돈이 0이거나 마이너스인 플레이어를 제거하려고 합니다. 그러나 할당 연산자와 관련된 오류로 인해 실패합니다. 이 문제를 해결하려면 루프 내에서 반복기를 증가시키지 마십시오. 대신, erasure() 함수에서 반환된 반복자를 사용하십시오.
1 2 3 4 5 6 |
|
게다가, erasure() 함수에서 연산자=를 사용하려면 Player 클래스를 할당할 수 있어야 합니다. 즉, Player 클래스는 구현해야 합니다. 대입 연산자입니다.
벡터의 지우기-제거 관용어 조작
벡터에서 요소를 제거하는 작업을 단순화하려면 Erase-Remove 관용구를 사용하세요.
1 2 3 4 5 6 7 8 |
|
이 관용구는 제거할 요소를 식별하기 위해 Remove_if() 알고리즘을 결합합니다. 필요한 범위를 제거하려면 지우기 및 지우기() 메서드를 사용하세요.
위 내용은 C에서 반복하는 동안 벡터에서 요소를 안전하게 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!