template <class T> size_t Hash<T>::operator()(const T& key) const
{
size_t res = 0;
size_t len = sizeof(T);
const char* p = reinterpret_cast<const char*>(&key); // 将对象作为字节序列去访问
while (len--) res = (res<<l)^*p++; //使用表示key的那些字节
return res;
} 