c++ - c++排序函数中的第三个参数是什么?
问题描述
它似乎与比较器有关,其中的每一件事是什么意思?首先,我想补充一点,我不太了解比较器,我会在可能的时候研究一下,但除此之外,我多次看到这种语法,即使我知道它是什么意思是,我希望有人为此提供详细的答案或资源。
1.什么是第一个[]
,我也看到了,有什么[&]
不同?我想下(const int a, const int b)
一个是我们声明并动态使用的未命名函数的参数?是body ,{return to_string(a) + to_string(b) > to_string(b) + to_string(a);}
我们怎么知道它的返回类型是bool?
- 第二个对我来说似乎更令人困惑,它将 int 转换为 string 并在其中累积结果。这里有什么用
move()
?如果我们只写returns + to_string(i)
,那也不一样吗?在所有字符串 s 通过引用传递之后?但更重要的是,我认为它不是比较器?那么它到底是什么?
我知道我的知识有一些空白,无法完全理解,但我似乎无法在互联网上找到这个(也许我不知道要搜索的正确术语)所以它可能会有所帮助其他人也是。
代码 1:
sort(nums.begin(), nums.end(), [](const int a, const int b) { return to_string(a) + to_string(b) > to_string(b) + to_string(a);});
代码 2:
return accumulate(nums.begin(), nums.end(), string(""), [](string& s, int i){ return move(s) + to_string(i);}) ;
}
解决方案
推荐阅读
- python - 如何在 python 中使用不同模式在谷歌大查询中附加数据框?
- python - 使用 SMTP 使用 python 将多个附件从 gmail 发送到 gmail?
- angular - 使用 @HostBinding 来确定 CSS 变量值的 Angular 组件在某些 Angular 应用程序中有效,而在其他应用程序中无效
- spring-integration - Spring Integration:如何检查输入的 wsdl 消息是否有效?
- npm - 如何更改 npm 模块 jsmediatags 的最大字符串长度
- spring - @WithMockUser 从静态枚举或字符串中读取值
- javascript - 如何在不知道其索引的情况下从数组中取出一个对象,只知道“键”名称
- c - 一元'*'的无效类型参数(有int)
- python - SyntaxError:Linux 中 Jupyter Notebook 上的语法无效
- python - Hist2D 的圆形框架?