| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4075 人关注过本帖
标题:请教:sort( v.begin(), v.end(), [] ) 函数中的中括号[]是什么意思?->int ...
只看楼主 加入收藏
FollowDream
Rank: 2
等 级:论坛游民
帖 子:33
专家分:14
注 册:2017-1-12
结帖率:33.33%
收藏
已结贴  问题点数:1 回复次数:3 
请教:sort( v.begin(), v.end(), [] ) 函数中的中括号[]是什么意思?->int又是什么意思?
我在网上搜了一个把字典按value而不是按key排序的小程序:

程序代码:
int main() {
    unordered_map<int, int> iMap;
    iMap[1] = 20;
    iMap[2] = 10;
    iMap[5] = 30;
    iMap[4] = 0;
    vector<pair<int, int>> vtMap;
    for (auto it = iMap.begin(); it != iMap.end(); it++)
        vtMap.push_back(make_pair(it->first, it->second));
    sort(vtMap.begin(), vtMap.end(), [](const pair<int, int> &x, const pair<int, int> &y) -> int{ return x.second < y.second; }); // 这一句是什么意思?
    return 0;}


请问sort(vtMap.begin(), vtMap.end(), [](const pair<int, int> &x, const pair<int, int> &y) -> int{ return x.second < y.second; });这一句是什么意思?[](pair, pair)怎么理解?-> int又怎么理解?

谢谢!
搜索更多相关主题的帖子: 网上 
2017-03-29 17:06
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:1 
lambda函数
->int 是指明这个函数的返回类型,不写的话return也能自己推导出来
2017-03-29 21:01
FollowDream
Rank: 2
等 级:论坛游民
帖 子:33
专家分:14
注 册:2017-1-12
收藏
得分:0 
回复 2楼 rjsp
谢谢!那么[](pair, pair)怎么理解?
2017-04-02 08:44
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
以下是引用FollowDream在2017-4-2 08:44:19的发言:

谢谢!那么[](pair, pair)怎么理解?
你有没有先去了解一下lambda是什么?
2017-04-05 10:34
快速回复:请教:sort( v.begin(), v.end(), [] ) 函数中的中括号[]是什么意思? ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015296 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved