[问题] comparator有[ ]

楼主: bulls5566 (公牛5566)   2018-05-03 11:18:17
开发平台(Platform): (Ex: Win10, Linux, ...)
Mac Seirra
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
GCC 6.2.0
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
none
问题(Question):
IORequest* SSTF::get_iorequest(int curr_track)
{
if (q.empty())
return nullptr;
auto it = min_element(
q.begin(),
q.end(),
[curr_track](const IORequest* a, const IORequest* b)
{ return abs(a->track - curr_track) < abs(b->track - curr_track); }
);
IORequest* tmp = *it;
q.erase(it);
return tmp;
}
我最近在学c++,在学queue, 观摩别人的程式发现min_element的comparator用了一个中括号
想知道中括号开头之后是什么意思,谢谢
我猜是要return curr_track这个int
但不太确定
想请教这边的高手替小弟解惑
感恩
作者: fatrabitree (胖兔子)   2018-05-03 11:25:00
lambda
楼主: bulls5566 (公牛5566)   2018-05-03 11:28:00
请问一下 curr_track放进去跟没放的差别在于哪里呢?
作者: djshen (djshen)   2018-05-03 11:57:00
作者: KanzakiHAria (神崎・H・アリア)   2018-05-03 12:36:00
作者: steve1012 (steve)   2018-05-03 23:23:00
那叫capture list 让你传变量进去的

Links booklink

Contact Us: admin [ a t ] ucptt.com