C에서 표준 맵을 사용하면 키의 기본 비교기(일반적으로 문자열에 대한 사전식)를 사용하여 키 비교가 수행됩니다. 그러나 자체 비교 논리를 정의해야 하는 시나리오도 있습니다.
키 비교 사용자 정의:
기본 비교기를 재정의하려면 사용자 정의 비교기를 지도를 생성할 때 세 번째 템플릿 매개변수입니다. 예를 들어, 문자열 길이를 기준으로 키를 비교하려면:
<code class="cpp">struct LengthComparator { bool operator()(const std::string& lhs, const std::string& rhs) const { return lhs.length() < rhs.length(); } }; std::map<std::string, std::string, LengthComparator> lengthMap;</code>
맵을 정렬하는 다른 방법:
사용자 정의 비교기를 정의하지 않으려면 다른 방법을 사용하여 지도를 정렬할 수 있습니다:
참고: 키를 길이별로 비교할 때는 다음 사항에 유의하세요. 각 길이의 인스턴스 하나만 맵 내에서 키로 존재할 수 있습니다.
위 내용은 C 맵에서 키 비교기를 재정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!