【问题标题】:What are curly braces in hash function?哈希函数中的花括号是什么?
【发布时间】:2018-10-19 02:53:01
【问题描述】:

在 C++11 中,可以为 string 变量获取哈希值,如下所示:

std::size_t h1 = std::hash<std::string>{}("Some_String");

它干净简单。但是,我有两个问题:

  1. 这里为什么需要花括号?
  2. 是否可以使用大括号进行转义?

【问题讨论】:

标签: c++ c++11


【解决方案1】:

花括号用于对std::hash&lt;std::string&gt; 类型的对象进行值初始化。然后可以调用该对象,因为它有一个重载的operator()。或者,您可以创建一个命名对象:

std::hash<std::string> H;
auto h1 = H("Some_String");

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2023-01-16
    • 1970-01-01
    • 2012-08-04
    相关资源
    最近更新 更多