首页 > std::hash<string>()(...)是什么意思,怎么理解?

std::hash<string>()(...)是什么意思,怎么理解?

这个问题有人也在百度知道问了,但回答我看不懂。希望能仔细说下。

鄙人阅读C++ Primer(第五版)396页时遇到的,代码是:

size_t hasher(const Sales_data &sd)
{
    return hash<string>()(sd.isbn());
}

请问return后面是什么意思?
为什么hash<string>后面有一对圆括号?我从来没见过这种形式的玩意儿。
为什么圆括号后面还有括号?
我主要不懂以上两点


hash
第一对括号生成一个hasher,然后第二对括号立即调用
相当于

std::hash<string> hasher;
return hasher(sd.isbn());
【热门文章】
【热门文章】