std :: map에서 첫 번째 (최저 키) N 개 항목을 삭제하는 메소드를 작성하려고합니다. 시도 :std :: map에서 처음 N 개의 항목을 지우시겠습니까?
제거 할 요청 된 수보다 많은 요소가있을 때 작동합니다. 따라서 5 개의 요소가 있고 2를 삭제하도록 요청하면 마지막 세 요소가 유지됩니다. 그러나 하나의 요소가 있고 2를 지우도록 요청한 경우 하나의 요소가 남아 있습니다.
이것을 덮을 수있는 깔끔한 방법이 있습니까? mapEize()보다 큰 numElementsToRemove를 확인하는 IF 문을 밀어 낼 수 있지만 더 좋은 해결책이 있어야합니까?
왜 가장 간단한 해결책보다 나은 해결책이 있을까요? –