[問題] 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