This code is from C++ primer p.446:
return hash<string>() (sd.isbn());
std::hash is a class type. What you are doing here is constructing a temporary std::hash with hash<string>() and then (sd.isbn()) calls the operator() of that temporary passing it sd.isbn().
It would be the same as
For more reading on using objects that have a operator() see: C++ Functors - and their uses