如何理解这段代码片段中的两对括号?
此代码来自C ++底层 p.446:
return hash<string>() (sd.isbn()); 我不明白带有两对括号的返回expression式。 本书前面没有类似的语法。
  std::hash是一个类的types。 你在这里做的是用hash<string>()构造一个临时std::hash ,然后(sd.isbn())调用临时的sd.isbn() 。 
这将是一样的
 std::hash<std::string> temp; return temp(sd.isbn()); 
 有关使用具有operator()对象的更多信息,请参阅: C ++函子及其用法