std::hash

std::hash (std::chrono::year_month_day_last 특수화)

std::hashstd::chrono::year_month_day_last 특수화예요. 이 타입의 객체 해시를 얻을 수 있게 해줘요. 해시 기반 컨테이너 키로 쓸 수 있게 해줘요. C++26부터 있어요.

출처: cppreference

본문

<chrono> 헤더에 정의돼 있고, std::hashstd::chrono::year_month_day_last 특수화예요. 이 특수화 덕분에 std::chrono::year_month_day_laststd::unordered_set, std::unordered_map 같은 해시 기반 컨테이너의 키로 사용할 수 있어요. 동등 비교(==)에서 같은 값은 같은 해시를 가져요.

// std::unordered_map<std::chrono::year_month_day_last, T> 형태 사용 가능

chrono 타입들에 대한 std::hash 특수화는 C++26부터 추가됐어요. 해시는 저장된 연·월 필드를 바탕으로 계산돼요.

#include <chrono>
#include <unordered_set>

int main()
{
    using namespace std::chrono;
    std::unordered_set<year_month_day_last> set;
    set.insert(2023y / August / last);
}

더 알아보기 (Learn more)

cppreference