{}在函数调用中的参数之前是什么意思?key_equal {}(key1,key2);
What does { } mean before the arguments in a function call ? key_equal{}(key1, key2);
我一直在阅读实现一个哈希表的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()
,并调用操作员。
相关文章:
- 如何使用"equal to"以外的评估编写开关语句
- C++有"not equal compare and exchange"或"fetch add on not equal"吗?
- 为什么 std::equal 模板由两个类参数化?
- C++20概念中的"equal"概念
- {}在函数调用中的参数之前是什么意思?key_equal {}(key1,key2);
- 使用'equal to'符号初始化期间的内存
- equal()是否默认包含在全局命名空间中
- 在 C 族中,在一个循环中,为什么"less than or equal to"比"less than"符号更受欢迎?
- std::具有用户定义类的equal函数
- 我怎样才能写得"if not greater than or equal to some value"雄辩?
- (false - NOT (0)) is equal to 1?
- 是 'char* p=0;std::equal(p,p,p)' 根据C++标准明确定义
- 为什么C++ STL 容器使用 "less than" 运算符<而不是 "equal equal" 运算符== 作为比较器?
- 在“abcd”和“abc”的情况下,“std::equal”是否取消引用“end()”
- 操作员过载"equal to"
- 如何实现一个虚拟函数equal()
- c++:实现equal方法-如何确保给定的对象与此对象不是同一个引用
- LoadString with nBufferMax equal 0
- 比较双精度堆栈导致Always Equal
- Boost::mpl::equal对于vector和vector_c总是为false