【发布时间】:2018-10-19 02:53:01
【问题描述】:
在 C++11 中,可以为 string 变量获取哈希值,如下所示:
std::size_t h1 = std::hash<std::string>{}("Some_String");
它干净简单。但是,我有两个问题:
- 这里为什么需要花括号?
- 是否可以使用大括号进行转义?
【问题讨论】:
-
请注意,
std::hash实例是类型,而不是函数。例如,这允许将std::hash专门化为std命名空间中的用户定义类型,这将不再允许用于 C++20 中的 模板函数。