{}在函数调用中的参数之前是什么意思?key_equal {}(key1,key2);

What does { } mean before the arguments in a function call ? key_equal{}(key1, key2);

本文关键字:equal key1 key2 key 意思 函数调用 参数 是什么      更新时间:2023-10-16

我一直在阅读实现一个哈希表的C 代码。总之,这很清楚以下代码的作用,我无法掌握emtpy卷曲支架{}在那里做什么。我试图在网上查找它,但找不到任何东西,甚至可能是因为这个表达的名称对我来说是不知道的。

我认为这与std ::均等函数的事实有关,但正如我说的那样,我找不到与之相关的任何东西。

这是家庭作业的一部分,是由我不认识的人撰写的,因此,了解功能比讨论这样做的必要性更重要,因此,我会对此提出评论。

预先感谢!

  using key_equal = std::equal_to<key_type>;
  bool equals(const key_type& key1, const key_type& key2) const {
     return key_equal{}(key1, key2); }

key_equal{}使用Braced-Init-list语法实例化类型;然后,该类型用两个ARG实现operator(),并调用操作员。