int, string말고도 class도 unordered_set에 저장할 수 있다.
Cat 객체를 만들고
kitty, nabi를 추가해서 빌드하면 에러가 나는데
Cat에 대해 hash와 equality가 정의되어있지 않기 때문이다.
위와같이 int와 string의 hash를 exclusive or하여 리턴하는 hash를 정의하고
위와 같이 같은 bucket안에 있는 linked list원소가 다르다는 것을 알기 위해서는
equality 연산도 정의해주어야한다.
모든 정의 후 hash를 정의하는 방법을 넘겨주고 빌드하면 에러없이 빌드가 된다.
unordered_set은 set과 마찬가지로 중복이 허용되지 않는다.