以前也没怎么写过,就知道跟auto类似,推断类型的,也没怎么用过。也就偶尔写写unordered_map或者set自定义排序的时候会用到,那会也是,有时候用到decltype也不知道为什么要加&或者不加&。今天整好在做我lc的每日一题,又要自定义排序关系,又蒙逼了所以决定研究一下。题目很简单topK问题。
不带&,会认为他是一个函数?
带了&号才会认为他是一个函数指针
所以LC这道题就要带&,来表明是一个函数指针类型。
写这道题的时候去stackoverflow看了看他们的写法,在贴三种做法吧
直接用function来转换。
和我做法一致
使用lambda表达式来做
decltype(lambda)还是一个lambda表达式,不需要转换成指针的形式。
stackoverflow的文章链接
还是对decltype掌握的不熟练,这个细节才一直没有想明白,慢慢学吧~