C에서 값별로 벡터 요소 지우기
C에서 벡터 작업을 할 때 특정 요소를 제거해야 하는 경우가 많습니다. 일반적으로 이 작업은 erasure(myVector.begin() 4)를 사용하여 지울 요소의 위치를 지정하여 수행됩니다. 그러나 위치가 아닌 값을 기준으로 요소를 지우고 싶은 경우가 있을 수 있습니다.
이를 달성하기 위해 C에서는 std::remove() 및 std::erase() 함수. 구현 방법의 예는 다음과 같습니다.
#include <algorithm> int main() { vector<int> myVector = {5, 9, 2, 8, 0, 7}; myVector.erase(std::remove(myVector.begin(), myVector.end(), 8), myVector.end()); return 0; }
std::remove() 함수는 세 가지 인수, 즉 벡터의 시작 및 끝 반복자와 제거할 값을 사용합니다. 지정된 값을 가진 모든 요소를 벡터 끝으로 이동하여 벡터를 수정하여 원래 위치에서 효과적으로 제거합니다.
그런 다음 std::erase() 함수는 벡터에서 요소 범위를 지웁니다. . 이 예에서는 std::remove()가 반환한 위치부터 벡터 끝까지 모든 요소를 지웁니다.
erase-remove 관용어를 활용하면 값에 따라 요소를 편리하게 지울 수 있습니다. 코드의 효율성과 유지 관리성을 향상시킵니다.
위 내용은 C에서 값으로 벡터 요소를 지우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!