0
一本书我读用下面的函数哈希表的创建
size_t hash(const std::string &str) {
int count = 16;
size_t hash_value = 0;
const char *cstr = str.c_str();
while(cstr && *cstr && --count)
hash_value += (*cstr++ - 'a') << (count % 4);
return hash_value;
什么是<<
运营商在这方面做创建了一个哈希表?
[答案在运算符优先级图表上。](http://en.cppreference.com/w/cpp/language/operator_precedence) – chris
这是[left bitshift operator](http://en.wikipedia.org /维基/ Bitwise_operation#Bit_shifts)。 'x << y'是'x *(2^y)',其中'^'代表功率,而不是异或。 – jedwards